【问题标题】:Daily Database backup using Cron Job使用 Cron Job 进行每日数据库备份
【发布时间】:2011-09-28 13:02:06
【问题描述】:

您好,我想在每天午夜使用 cron 作业进行数据库备份...并且数据库备份的名称应附加当前日期...备份文件的格式应为 mydata_yyyy_mm_dd.sql ... 备份文件应放在 /root 目录中

【问题讨论】:

    标签: mysql linux cron crontab crontrigger


    【解决方案1】:

    使用此内容创建一个 cron.sh 文件:

     mysqldump -u root -p{PASSWORD} DBNAME 2>> "/filename_`date '+%Y-%m-%d'`.sql"
    

    并授予该 cron.sh 文件的读取权限或完全访问权限。

    并将这一行添加到 crontab 文件中 ($ crontab -e)

     0 0 * * *   cron.sh
    

    【讨论】:

    • mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) 尝试连接时
    • 遇到了同样的错误。出现错误:1045:尝试连接时拒绝用户访问(使用密码:否)
    【解决方案2】:

    类似

    0 0 * * * /path/to/mysqldump ... > /path/to/backup/mydata_$( date +"%Y_%m_%d" ).sql
    

    应该可以。

    请阅读

    • 男人约会
    • man 5 crontab

    【讨论】:

    • 我不得不在% 中添加转义斜杠,因为% 通常被cron 解释为换行符。例如,... /path/to/backup/mydata_$( date +"\%Y_\%m_\%d" ).
    • centos 6.4 没问题。不需要转义
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2010-11-22
    • 2019-06-06
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多