35.Linux定时任务

1.语法

* * * * * command M H D m d command
M: 分(0-59) H:时(0-23) D:天(1-31) m: 月(1-12) d: 周(0-6) 0为星期日

* 代表取值范围内的数字 / 代表"每" - 代表从某个数字到某个数字 , 代表离散的取值(取值的列表)  

每5秒执行一次
*/5 * * * * cd /home/iris/; python aa.py

每天清晨 4:00:01,用python执行/opt/aa.py文件。
0 4 * * * python /opt/aa.py

每周一的10点和9点执行bash
0 10 * * 1 (sudo /home/workspace/kukulcan/src/l10/start_l10_mark.sh)
0 9 * * 1 (sudo /home/workspace/kukulcan/src/g37/start_g37_mark.sh)

  

2.配置

 方法1:crontab -e

使用命令 crontab -e 然后直接编辑定时脚本。这样执行以后,属于用户自定义的

 方法2: vi /etc/crontab 编辑定时脚本
[root@localhost ~]# cat /etc/crontab                                                                                                                                                                        
SHELL=/bin/bash                                                                                                                                                                                             
PATH=/sbin:/bin:/usr/sbin:/usr/bin                                                                                                                                                                          
MAILTO=root                                                                                                                                                                                                 
HOME=/                                                                                                                                                                                                      
                                                                                                                                                                                                            
# run-parts                                                                                                                                                                                                 
30 * * * * root /usr/sbin/ntpdate 210.72.145.44                                                                                                                                                             
#30 8 * * * root /usr/sbin/ntpdate 132.228.90.101                                                                                                                                                           
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                                                                                                                                                                 
*/1 * * * * root run-parts /opt/openoffice.org3/program/start.sh                                                                                                                                            
############################################                                                                                                                                                                
                                                                                                                                                                                                            
30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete root@192.168.231.35::resource /hyy/bak/resource   
30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete root@192.168.231.35::log /hyy/bak/log  
############################################  
[root@localhost ~]#   

3.注意

(系统级的)做系统级配置我们会直接配置 /etc/crontab

(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。

4.crontab 查看

使用权限:
  root用户crontab文件的所有者
语法:
  crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
说明:
  crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数:
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]:列出用户cron作业的状态

 

eg:查看当前用户的时程表

crontab -l

 eg:查看root用户的时程表

sudo crontab -u root -l

  

posted @ 2017-11-03 11:23  桃源仙居  阅读(164)  评论(0)    收藏  举报