Linux学习笔记-定时任务设置

定时任务通常用于处理需要定期执行的系统维护任务,比如日志清理,系统检查等,通过crontab和at,命令可以实现。

crontab比较常用,可以根据分钟、小时、日期、月份、星期来设置调度任务,用户只要设置好相关参数和命令,任务就会自动执行。常用参数如下:

 -u user指定运行此任务的用户是谁,如果不设置,默认是当前登录用户,该选项只有root用户才能使用
-l 显示当前用户的任务
-r 删除当前用户的任务
 -e 更改用户的任务

要使用crontab,首先要启动crontab服务,命令如下:

看到已经启动起来了,可以直接使用

现在开始设置自动运行任务,比如这里已经有了一个测试用的shell脚本loop.sh

运行crontab -e添加或者更改任务列表,运行命令后会自动进入vi编辑界面:

每天晚上一点钟执行loop.sh脚本

分钟 小时 日期 月份 星期 命令

00 01 * * * /tmp/loop.sh

用-l参数查看当前的定时任务计划:

如果是每个周六晚上10点运行loop.sh命令,写成:00 22 * * 6 /tmp/loop.sh。定时任务的脚本必须具有可执行的权限x,才能确保脚本正常工作。

at

可以设置在指定的时间执行指定的命令,与crontab命令不同,通过at命令定义的任务,只能运行一次

常见用法:

3天后的凌晨2点运行此命令

查看当前所有的at任务,同样使用-l参数:

删除指定的任务,需要先查看任务的id,比如上图的任务id是1:

其他常见设置

三个周后的上午10点开始运行这个任务at 10:00 + 3 weeks /tmp/backup.sh

明天下午4点运行这个任务at 4pm tomorrow /tmp/test.sh:

下个月1号下午10点执行这个任务at 22:00 6/1/2018 /tmp/test.sh:

两个小时后执行这个任务at now + 2 hours /tmp/test.sh:

30分钟后运行这个任务at now + 30mins /tmp/test.sh:

查看我们刚才设置的任务:

猜你喜欢

转载自blog.csdn.net/qq_30242987/article/details/88814650