版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.youkuaiyun.com/mayongzhan - 马永占,myz,mayongzhan
linux at 命令,执行一次的定时执行
----------------------------------------------at
-----------------------1
新建一个测试文件test.txt
> touch test.txt
-----------------------2
新建一个用于执行的文件
> vim test.sh
test.sh内容如下:(意思是写123到test.txt文件)
#!/bin/bash
echo 123 > test.txt
(最好是chmod +x ./test.txt
把test.txt变成可运行程序)
-----------------------3查看时间, 得到时间12:00
> date
-----------------------4执行at 命令,然后在十分钟后执行
> at 12:10
然后输入:
at> ./test.sh
然后按ctrl+D
然后可以使用atq查看当前任务
等待十分钟后的执行.......
------------------------------------------------cron
-----------------------1
命令crontab
[test @test test]# crontab [-u user] [-l | -e | -r]
参数说明:
-u user :只有 root 能下达的参数,视察或编译其它使用者的 crontab 内容
-l :列出 crontab 的内容
-e :编辑 crontab 的内容
-r :删除 crontab 的内容
范例:
一般使用者 test 要在每天的 12:00 发信给自己:
参数说明:
-u user :只有 root 能下达的参数,视察或编译其它使用者的 crontab 内容
-l :列出 crontab 的内容
-e :编辑 crontab 的内容
-r :删除 crontab 的内容
范例:
一般使用者 test 要在每天的 12:00 发信给自己:
[test @test test]# crontab -e <==自己编辑自己的 crontab 内容
进入 crontab 编辑内容,使用 vi 呦!
0 12 * * * mail test < /home/test/test.txt
分时日月周 |========指令列===============|
分时日月周 |========指令列===============|
分 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
周 (0-6)
小时 (0-23)
日期 (1-31)
月份 (1-12)
周 (0-6)
数字代表的意义
|
分钟
|
小时
|
日期
|
月份
|
周
|
范围
|
0-59
|
0-23
|
1-31
|
1-12
|
0-6 (0为星期天)
|
-----------------------2
注意:这个命令针对的是某个用户
如果想要系统执行,那么去编辑/etc/crontab,这个文件里是执行的内容
[root@test /root]# vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly <==每小时执行的工作
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 <==每个月执行的工作
分 时日月周使用者 参数 指令
01 * * * * root run-parts /etc/cron.hourly <==每小时执行的工作
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 <==每个月执行的工作
分 时日月周使用者 参数 指令
01 * * * * root run-parts /etc/cron.hourly:在批注符号 #run-parts 这一行以后的命令,我们可以发现,五个数字后面接的是 root 喔!没错,这一行代表的是『执行的层级为 root 身份』当然啰,你也可以将这一行改写成其它的身份哩!而 run-parts 代表后面接的 /etc/cron.hourly 是『一个目录内(/etc/cron.hourly)的所有可执行档』,这也就是说,每个小时的 01 分,系统会以 root 层级的使用者去 /etc/cron.hourly 这个目录下执行所有可以执行的档案!后面的三行也都是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这四个目录了!你可以将每天需要执行的命令直接写到 /etc/cron.daily 即可,还不需要使用到 crontab -e 的程序呢!方便吧!
注意:run-parts 也可以自己添一个.也可以不用run-parts,像crontab –e一样 直接写要执行的命令
-----------------------3
重启动,cron
/etc/rc.d/init.d/crond restart