首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有在Ubuntu上执行Shell脚本的Cron

问没有在Ubuntu上执行Shell脚本的Cron
EN

Stack Overflow用户
提问于 2015-07-31 06:07:33
回答 2查看 215关注 0票数 0

我有一个远程.sh脚本来备份mySQL文件。Cron正在由.sh文件运行,没有执行。Crontab的内容如下:

代码语言:javascript
复制
#SHELL=/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin 
* * * * * /home/ubuntu/dscript/db_backup.sh > /tmp/db.output

文件内容如下:

代码语言:javascript
复制
#!/bin/bash

DATE=$(date +%Y%m%d_%H%M)

zipname="db_prod_$DATE.sql"
mysqldump db_prod > $zipname
aws s3 mv $zipname s3://mybackups/$zipname
rm -rf $zipname

zipname="db_staging_$DATE.sql"
mysqldump db_staging > $zipname
aws s3 mv $zipname s3://mybackups/$zipname
rm -rf $zipname

Bash路径

代码语言:javascript
复制
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

我在Ubuntu。

文件处于+x模式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-31 07:02:03

代码语言:javascript
复制
#!/usr/bin/bash

DATE=$(date +%Y%m%d_%H%M)
zipname="db_prod_$DATE.sql"
SCRIPT_LOG_FILE="/tmp/backup.log"

echo "[${DATE}] [INFO] Starting personnal backup" > ${SCRIPT_LOG_FILE}
$(which mysqldump) db_prod > $zipname
if [ "$?" -eq "0" ] && [ -f ${zipname} ];then
    echo "[$(date +%Y%m%d_%H%M)] [INFO] Mysqldump save file ${zipname}" > ${SCRIPT_LOG_FILE}
    # file is created continue job with this file ...
    $(which aws) s3 mv $zipname s3://mybackups/$zipname
    rm -rf $zipname
else
    echo "[$(date +%Y%m%d_%H%M)] [ERROR] Mysqldump can't save file ${zipname}" > ${SCRIPT_LOG_FILE} 
fi
exit 0

crontab -l必须是:

代码语言:javascript
复制
* * * * * /home/ubuntu/dscript/db_backup.sh &> /tmp/error.and.result.db.output 
票数 1
EN

Stack Overflow用户

发布于 2015-07-31 06:30:17

检查cron错误:尝试查看以下错误:

代码语言:javascript
复制
~$ sudo cat /var/log/syslog|grep CRON|grep db_backup.sh
~$ sudo cat /var/log/syslog|grep CRON|grep MY_USERNAME

(拒绝许可或其他)

其中MY_USERNAME是用户执行的:crontab -e

检查脚本错误:

代码语言:javascript
复制
* * * * * /home/ubuntu/dscript/db_backup.sh > /tmp/result.db.output
* * * * * /home/ubuntu/dscript/db_backup.sh 2> /tmp/error.db.output

或者简单的

代码语言:javascript
复制
* * * * * /home/ubuntu/dscript/db_backup.sh &> /tmp/error.and.result.db.output 

问题是,错误是来自cron的执行,还是在脚本中,上面的方法将帮助您找到问题的根源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31739160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档