如何实现非交互追加定时任务crontab,且保证原定时任务不被覆盖?
·
如何实现非交互追加定时任务crontab,且保证原定时任务不被覆盖?
一. 非交互追加定时任务一
# 追加定时任务一,使用\转义双引号
echo "*/10 * * * * echo \"test_crontab_1\" >> /var/log/test_crontab.log" | crontab -
# 查看定时任务
crontab -l
效果图:

二. 非交互追加定时任务二
1. 法一,使用() 创建子Shell
使用圆括号 () 创建了一个子shell。子shell 的作用是在一个独立的环境中执行一系列命令,并将其输出作为整体传递给后续的命令
# 追加定时任务二
(crontab -l ; echo "*/10 * * * * echo \"test_crontab_2\" >> /var/log/test_crontab.log") | crontab -
2. 法二,使用重定向
如果定时任务数量较多也可以先将之前的定时任务输出重定向到crontab_backup文件 ,再将新的定时任务追加至文件,最后使用crontab 导入
crontab -l > /opt/crontab_backup
echo "*/10 * * * * echo \"test_crontab_2\" >> /var/log/test_crontab.log" >> /opt/crontab_backup
crontab /opt/crontab_backup
三.验证定时任务一是否被覆盖
1. 验证法一
crontab -l
# 非交互式清空全部定时任务
echo "" | crontab -
发现之前的定时任务没有被覆盖

2. 验证法二
crontab -l
# 非交互式清空全部定时任务
echo "" | crontab -
发现之前的定时任务没有被覆盖

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)