第一部分:at命令
1. at命令:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看,开启用/etc/init.d/atd start or restart; 开机即启动则需要运行chkconfig --level 2345 atd on)。
[root @ localhost test]at now +1 minat> echo "hello" > /dev/tty2后回车 # 一分钟后发送“hello”给tty2终端
at 00:55 2009-12-13at> echo "test at command" > /home/test.txtat 1:00 2009-12-13at>/sbin/shutdown -h now #此处使用绝对路径
at now +1 minat> echo "hello" <EOF>#此时会以发送邮件的方式给当前执行的人,用mail命令可以查看, 即先使用mail命令,出现&后输入'1'则可查看。
batchat> echo "hello" > /home/abc.txt <EOF>
1、cron服务介绍
2、使用cron服务执行计划任务
以下是几个例子:
9 9 * * * /usr/local/bin/cvsb
3 3 * * 0 /usr/local/bin/qbbak
* */6 * * * /usr/local/bin/esbbak
20,30 * * * /usr/local/bin/esbak
六个字段对应的含义如下:
分钟 小时 日期 月份
表示每天早上9点9分执行目录/usr/local/bin/中的cvsb文件
表示每周日凌晨3时3分执行目录/usr/local/bin中的qbbak文件
表示每6小时执行一次,执行时间从第一次执行起计算,当然也可以自定义执行时间,比如0 */6 * * *那程序就会在整点执行
表示在每小时20分和30分时执行
上面简单介绍了cron的一些基本用法,这个东东的时间组合可不是一般的强~可以复杂到你无法想象,我们只要掌握少许基本就可以满足日常需求了。
3、cron进阶使用
(1).避免cron产生垃圾文件
细心的朋友可能会发现系统/var/spool/clientmqueue/目录下往往存有大量文件,原因是系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail(系统自带的邮件服务器)没有启动所以就产生了这些文件。
这时可以使用输出重定向,即在计划任务后加上> /dev/null 2>&1
例:
9 9 * * * /usr/local/bin/cvsb > /dev/null 2>&1
(2>&1:把错误重定向到输出要送到的地方。)
把命令的执行结果重定向到/dev/null,即把产生的错误抛弃。
(2).一种经常碰到的情况,需要执行的文件没问题,但通过cron就是死活不能正确执行,这时我们可以通过输出重定向将cron的执行过程输出到一个文件,通过分析执行过程来寻找错误的原因
例:
9 9 * * * /usr/local/bin/cvsb > /var/log/crontab_log 2>&1
上例将cron的执行过程输出到一个文本文件crontab_log,这个文件可以随便手动建一个,放在哪都行,重定向目录写对就Ok