Linux常用命令之任务管理
1.单次任务 at
at可以设置在指定时间执行一个指定任务,只能执行一次,使用前确认系统开启了atd进程。如果指定的时间已经过去则会在第二天执行任务。
并不是所有用户可以进行at计划任务。利用/etc/at.allow和/etc/at.deny这两个文件来进行at 的使用限制。系统首先查找 /etc/at.allow这个文件,写在这个文件中的使用者才能使用at,没有在这个文件中的使用者不能使用at.如果/etc/at.allow文件不存在,就寻找/etc/at.deny这个文件,写在这个at.deny的使用者不能使用at。没有在这个文件中的使用者可以使用at命令。
使用示例:
两分钟后,输出时间到指定文件内:
[aaa@qq.com ~]# at now + 2 minutes
at> date >/root/2017.log
at> <EOT>
EOT是End Of Text,也就是文字结束符号。
EOF是End Of File,表示文件结尾。
mac终端不能直接使用at命令,运行man atrun,得到如下内容:
复制红框内的内容运行如下命令:
2.周期任务cron(crond)
crond是Linux下用来周期性地执行某种任务或等待处理某些事件,比如进程监控、日志处理等。当安装操作系统时会默认安装此服务工具,并且会自动启动crond进程。crond进程每分钟会定期检查是否有要执行的任务,如果有,则自动执行该任务。crond最小调度单位为分钟。
Linux下的任务调度分为两种:系统任务调度和用户任务调度。
(1)系统任务调度:系统周期性索要执行的工作,比如写缓存数据到硬盘、日志清理等。
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
(2)用户任务调度:用户定期要执行的任务,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为6个字段,前5段是时间设定段,第6段是要执行的命令段,格式如下:minute hour day month week command。具体参数说明如下:
crontab命令常用参数说明:
crontab使用示例:
#每天每小时的0分钟执行一次/bin/ls
0 7 * * * /bin/ls
#12月的每天晚上9到11点钟,每隔20分钟执行一次/usr/bin/backup
0 21-23/3 * 12 * /usr/bin/backup
#每隔两小时重启一次Apache
0 * /2 * * * /sbin/service/httpd restart
上一篇: codevs 1060