一、背景
1.使用crond的定时任务时 , 编辑了以下的语句 , 每天0点执行定时任务
crontab -eservice crond restart0 0 * * * sh /root/backup/compress_backup.sh 2>&1 > /root/backup/log_`echo $(date +%Y-%m-%d)`2.查看定时任务的执行 , 语句没有顺利执行 , 出现问题
tail -5 /var/log/cron
文章插图
3.本地执行命令是正常的
sh compress_backup.sh > /root/backup/log_`echo $(date +%Y-%m-%d)`
文章插图
二、问题原因
在crontab中%字符被认为是换行 , 所以你的命令中有%时 , 需要在crontab中要加\转义
另外注意sh执行的脚本需要写绝对路径 , 否则也无法正确的执行
三、解决方案
在crontab中要加\转义
crontab -eservice crond restart0 0 * * * sh /root/backup/compress_backup.sh 2>&1 > /root/backup/log_$(date +\%Y-\%m-\%d)重启查看定时任务的执行 , 语句正常
tail -5 /var/log/cron
文章插图
查看文件备份成功且日志正确生成
文章插图
【crondtab定时任务%字符无法识别的处理】
经验总结扩展阅读
- 光遇10.26每日任务内容是什么
- 锅炉运行调整的任务有哪些
- 问道手游新区第二天任务顺序
- 忘川风华录历历星汉推演之周任务怎么做
- 忘川风华录历历星汉制历之周任务怎么做
- 电脑不定时断电后重启
- 结肠炎饮食调理是关键
- 烟雨江湖蝶谷有变任务要怎么做
- 疯狂骑士团神器任务是什么
- 海信电视为什么不定时的自动关机