我对cron作业(以及一般的Linux)的经验有限,但设法 Build 了一个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 回答
跑 printenv
将所有环境变量复制并粘贴到ur脚本(/root/backup_mysql.sh) .
添加cronjob作为sudo
sudo crontab -e
0 12 * * * /root/backup_mysql.sh
0 21 * * * /root/backup_mysql.sh