一、背景
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中要加\转义
【crondtab定时任务%字符无法识别的处理】另外注意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
文章插图
查看文件备份成功且日志正确生成
文章插图
推荐阅读
- 光遇10.26每日任务内容是什么
- 忘川风华录历历星汉推演之周任务怎么做
- 忘川风华录历历星汉制历之周任务怎么做
- 烟雨江湖蝶谷有变任务要怎么做
- 疯狂骑士团神器任务是什么
- 烟雨江湖不老半仙任务怎么做
- Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
- 原神3.2意识之舟所至之处任务怎么做
- 原神3.2请饮下祝胜之酒任务怎么做
- 原神3.2如临神之畔任务怎么做