我正在尝试每5分钟在cron
上执行一个mysqldump
,但似乎它不工作。 我尝试执行mysqldump
,它工作正常。
mysqldump
mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz
cron
*/5 * * * * mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz
LOG
May 17 04:35:42 CentOS-63-64-minimal crontab[5605]: (root) LIST (root) May 17 04:40:01 CentOS-63-64-minimal CROND[5626]: (root) CMD (mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +")
UPDATE
我想我find了问题,它是在date +"%T"
,因为如果我用date -I
replace它date -I
现在它的工作。 不过,我需要在文件名上添加date和时间。
这应该是cron条目的path问题。
尝试使用/usr/bin/mysqldump
而不是mysqldump
, /usr/bin/gzip
而不是gzip
,而使用/usr/bin/date
而不是date
。 相应地更改path到您的系统。 使用命令whereis
查找命令的path。
你应该把你的命令放在一个脚本中,例如backupmysql,然后在cron中添加这个条目:
* / 5 * * * * / path / to / backupmysql