常用命令

启动

1
systemctl start crond

停止

1
systemctl stop crond

重启

1
systemctl restart crond

查看状态

1
systemctl status crond

赋予权限

Crontab定时任务是没有权限执行shell脚本的,要先赋予脚本777权限

1
chmod 777 脚本名称(不在当前目录要加上路径)

执行方式

脚本放在目录

把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次

编写crontab命令

进入当前用户的工作表编辑,是常见的vim界面,每行是一条命令

1
crontab -e

crontab的命令构成为 时间+动作,下面的* * * * *是时间,shell脚本路径为动作

时间有分、时、日、月、周五种,操作符有:

***** :取值范围内的所有数字

/ :每过多少个数字

- :从X到Z

, :散列数字

一些实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
实例1:每1分钟执行一次myCommand
* * * * * myCommand

实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand

实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand

实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand

实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand

实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart

实例7:每月11022日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart

实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart

实例9:每天18 : 0023 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart

实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart

实例11:每一小时重启smb
0 */1 * * * /etc/init.d/smb restart

实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7/1 * * * /etc/init.d/smb restart