解决未运行的cron作业问题

时间:2011-10-07 01:23:23

标签: shell cron crontab

我对cron作业(以及一般的Linux)的经验有限,但设法建立了一个mysql转储脚本,当手动运行时效果很好,但是当添加到crontab时它似乎没有运行。

我的脚本位于:/root/backup_mysql.sh

我的crontab看起来像这样:

0 12 * * * /root/backup_mysql.sh
0 21 * * * /root/backup_mysql.sh

只是在脚本中有一些东西阻止它通过cron运行,这里是备份脚本。

#!/bin/sh

dbpass="password"

echo "Grabbing database list... excluding mysql, information_schema & phpmyadmin... dumping databases to /backups/"

for db in \
`mysql -u root -p$dbpass -e "show databases;" \
| tr -d "| "  \
| egrep -v "(Database|mysql|information_schema|phpmyadmin.sql)"`; \

do  mysqldump -u root -p$dbpass --opt --routines --databases $db  >  "/backups/$db.sql"; 

done

echo "done..."

对不起,如果这很容易,就看不出我做错了什么 - 任何帮助都会非常感激。

干杯

1 个答案:

答案 0 :(得分:1)

运行 printenv

将所有环境变量复制并粘贴到ur脚本(/root/backup_mysql.sh)。

将cronjob添加为sudo

sudo crontab -e

0 12 * * * /root/backup_mysql.sh

0 21 * * * /root/backup_mysql.sh