【问题标题】:Bash script with logger带有记录器的 Bash 脚本
【发布时间】:2015-07-20 16:26:08
【问题描述】:

我正在尝试为带有记录器功能的 MYSQL 数据库备份编写一个简单的脚本。但我被困在记录器上,我知道这应该很简单,但我的想法已经出来了。 我在脚本中使用下一个字符串:

mysqldump -u username -p'pass' --all-databases > /var/backup/mysqlbck.sql

我的目标是通过 2 个不同的设施使用 logger 记录到 syslog。

  • local0.warn - 如果数据库无法备份,应该发送日志
  • local0.info - 应该发送带有成功日志的日志。

我尝试添加logger -p local.warn 2>> /to/file/ 也尝试使用 -s 参数,但这不是我需要的,老实说,当存在 STDERR 2>> 时,我没有看到使用记录器的意义。

【问题讨论】:

  • 您想记录到文件到系统日志吗?并且您希望发送的 stdout 和 stderr 使用不同的 syslog 优先级记录?
  • 您有问题吗?

标签: mysql linux bash logging


【解决方案1】:

仅通过记录器记录:

mysqldump ...
ret=$?
if [[ $ret -eq 0 ]]; then
  echo "mysqldump: success" | logger -p local0.warn
else
  echo "mysqldump: error" | logger -p local0.info
fi

记录到文件并通过记录器:

mysqldump ...
ret=$?
if [[ $ret -eq 0 ]]; then
  echo "mysqldump: success" | tee -a /path/to/file | logger -p local0.warn
else
  echo "mysqldump: error" | tee -a /path/to/file | logger -p local0.info
fi

【讨论】:

  • 非常感谢赛勒斯.. 干杯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-15
相关资源
最近更新 更多