【问题标题】:How can I send any error messages to a file when running Mysqldump?运行 Mysqldump 时如何将任何错误消息发送到文件?
【发布时间】:2012-01-02 09:21:06
【问题描述】:

我对从命令行使用 MySql 还是很陌生,所以在这里我真的需要一些建议。

基本上,我已经编写了一个 bash 脚本,它通过 cron 作业在选定的日期备份我的数据库。它工作得很好,但我想知道是否有任何方法可以将任何错误消息从 mysqldump 通过电子邮件发送给我,以防万一出现问题。这是进行转储的代码的关键部分:

mysqldump -u user -h localhost --all-databases | gzip -9 > $filename

有什么方法可以设置一个条件来捕获任何错误消息并将它们发送到电子邮件中?

白斑

【问题讨论】:

    标签: bash email error-handling cron mysqldump


    【解决方案1】:

    用途:

    mysqldump -u user -h localhost --all-databases 2> error.log | gzip -9 > $filename 
    

    特别是,在 bash 中,您可以使用 n> 语法将任何输出描述符重定向到其他内容,请注意 n 和 > 之间的空格不足 :)

    通过电子邮件将 error.log 发送给自己 :)

    【讨论】:

      【解决方案2】:

      您说您正在使用 cron 来运行该作业。这很棒,因为 cron 已经内置了邮件发送功能——无需写入临时文件,也无需使用支持脚本。只需这样做:

      MAILTO=yourname@example.com
      00 14 * * * mysqldump ... | gzip -9 >filename # or invoke a script here
      

      就像魔术一样,作业的任何输出都会邮寄给您。

      【讨论】:

        猜你喜欢
        • 2017-05-29
        • 2021-07-18
        • 2018-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-25
        相关资源
        最近更新 更多