计划任务:at和crontab

两种计划任务:at和crontab

at:仅仅执行一次 
执行at时,必须有atd这个服务。
  启用atd服务的方法:/etc/init.d/atd restart
  设置开机启动atd服务:chkconfig atd on

可以使用/etc/at.allow与/etc/at.deny这两个文件来进行at的使用限制:
  先找at.allow这个文件,写在这个文件中的用户才能使用at,没有在这个文件中的用户不能使用at.
  如果没有at.allow,就找at.deny。写在at.deny中的用户不能使用at,没有写在这个文件中的用户能使用at.
  如果两个文件都不存在,那么只有root用户才能使用at命令。
  系统一般假设所有用户都是可信任的,所以在系统中一般存在一个空的/etc/at.deny文件。

atq  或 at -l  //列出目前系统上所有该用户的at调度
atrm 或 at -d  //取消一个at调度
at -c 2        //列出工作号为2的at调度的详细内容

例1:23:50关机
[root@www~]#at 23:50  
at> sync                               //把内存中的资源写到硬盘中
at> /sbin/shutdown -h now
at> <EOT>                            //输入ctrl+d表示结束

例2:再过5分钟,将/root/.bashrc寄给自己
[root@www~]at now + 5 minutes
at> /bin/mail root -s "aaa" </root/.bashrc

batch命令:系统有空时才进行后台任务
batch是利用at来进行命令的执行。在CPU工作负载小于0.8的时候,才进行所执行的工作任务。

例1:在2014年7月8日 23:00 关机,但若当时系统负载太高,则暂缓执行
[root@www~]batch 23:00 2014-7-8
at>sync
at>sync
at>shutdown -h now
at><EOT>

crontab:周期性执行
让crontab生效的服务是:crond。

可以使用/etc/cron.allow与/etc/cron.deny这两个文件来进行at的使用限制:
同at

cron执行的每一项工作都会被记录到/var/log/cron这个日志文件中

方法一:通过命令
crontab -e    //编辑crontab工作内容
crontab -l     //查询crontab工作内容

例1:以dmtsai的身份每天12:00将/home/dmtsai/.bashrc发信给自己
[dmtsat@www~]crontab -e
* 12 * * * mail dmtsat -s "aaa" </home/dmtsai/.bashrc

例2:每年5月1日23:59分发情书
59 23 1 5 * mail kiki</home/dmtsai/lover.txt

例3:每5分钟执行一次/home/dmtsai/test.sh
*/5 * * * * /home/dmtsai/test.sh

例4:每周五下午4:30告诉朋友约会不要忘记
30 16 * * 5 mail [email protected] </home/dmtsai/friend.txt

方法二:通过系统配置文件/etc/crontab
crontab文件内容:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

#run-parts
01 * * * * root run-parts /etc/cron.hourly   //如果想让系统每小时执行某个命令,将该命令写成script,并将该文件夹放在cron.hourly下。
                                    run-parts命令是将后面接的“目录”内的所有文件找出来执行。
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly 



补充:linux上常见的例行性任务:
日志文件的轮替(log roate)
日志文件分析logwatch的任务
新建locate的数据库
whatis数据库的建立
RPM软件日志文件的新建
删除临时文件
与网络有关的分析行为

猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/80576056