Centos使用cron作业备份mysql

根据这个教程http://www.a2hosting.com/kb/getting-started-guide/backing-up-your-data/backups-on-dedicated-servers-and-vps试图备份mysql数据库

我做了:

1)在home目录中创build文件夹。 /home/USERNAME/backup/

2)在文件夹backup创build文件中,名为backup-cron-mysql.sh

3)创buildbackup-cron-mysql.sh内容

 #!/bin/bash db_name=dabase_name db_user=user db_password=password backup_filename=$db_name-`date +%F` mysqldump -h localhost -u $db_user -p$db_password $db_name | gzip > /home/USERNAME/dbbackup/$backup_filename.sql.gz 

制作backup-cron-mysql.sh可执行文件(八进制:0755)

4)创build文件夹dbbackup 。 path: /home/USERNAME/dbbackup/

5)使用putty.exelogin并inputcrontab –e ,然后回车。 Latter发现cronconfiguration文件位于目录/var/spool/cron/ ,文件名是root

6)用Notepad ++打开root文件并粘贴下面的代码

 45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh [email protected] 

因为/home/USERNAME/dbbackup/必须看到一些文件。 但什么都不看(空文件夹)。

请指教一下需要更正的,备份mysql

检查下面的文件的cron日志输出。 在/ var / log / syslog的

您也可以使用以下命令过滤日志:

 grep CRON /var/log/syslog 

configurationlogin你的cron作业:

  45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh 2>&1 >> /var/log/myjob.log 

https://askubuntu.com/questions/56683/where-is-the-cron-crontab-log

一些想法:

  1. 由于您使用的是CentOS,因此Cron日志的默认位置应该是/var/log/cron 。 那里可能没有太多的信息,但是至less应该告诉你Cron守护进程是否在尝试运行你的脚本。

  2. 上面的Zeeshan的输出redirect可能会成功,但更简单的表示法是使用“将所有输出redirect到文件”…例如

    45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh &> /some/file

    Bashredirect方法的一个很好的概述位于这里:
    http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

  3. Crontab文件在几个方面是挑剔的; 一种方法是他们需要一个空行作为文件的最后一行。 我build议确保在文件末尾至less有一个空行(有几个不会伤害,所以你可以在那里扔一对夫妇,以便采取好的措施)。

  4. 在尝试使用Cron自动化之前,您是否手动运行备份脚本? 如果脚本本身存在问题,那么在其上添加Cron自动化只会使故障排除变得更加困难。