Linux 基础 - 非交互模式写入crontab定时任务

时间:2025-04-01 10:57:27

有时候我们运维系统,需要用到shell 脚本来批量插入计划任务,但是由于crontab -e 执行的是交互式的编辑,为了提高工作效率,下面非交互式的写入定时任务到crontab


步骤

假设我们要添加一个 0 0 * * * sh /data/bak_everyday.sh 的任务

执行以下命令

 root@centos-mysql01:~# (crontab -l;echo "0 0 * * * sh /data/bak_everyday.sh > /dev/null 2>&1 ") | crontab

再次查看crontab 是否成功

 root@centos-mysql01:~# crontab -l 

非交互式删除一个crontab 任务

 root@centos-mysql01:~# crontab  -l | grep -v  "bak_everyday.sh" | crontab  

直接写入文件

 root@centos-mysql01:~# echo '*/15 * * * *  /data/sh/chkrootkit_everyday.sh ' > /var/spool/cron/root