cron初次使用以及常用定时任务设置

一. 初次使用

第一次使用crontab 时,会出现no crontab for root - using an empty one“Select a editor ......下面有几个选项,就是叫你选择编辑器。(选vim)就可以了,我选的第三个。但是如果你选错了,就可能会遇到点麻烦,没有办法正常编辑,crontab -e。 怎么办?
执行这个命令:select-editor (针对crontab的一个命令), 可以让你重新选一次。crontab: "/usr/bin/sensible-editor" exited with status 1

重新选择cron编辑器

1
2
# 重选选cron编辑器
select-editor

Select an editor. To change later, run ‘select-editor’.

  1. /bin/ed
  2. /bin/nano <—- easiest
  3. /usr/bin/vim.basic ( 一般选择3)
  4. /usr/bin/vim.tiny

Choose 1-4 [2]: 2
crontab -e
no crontab for root - using an empty one

设置crontab时,可能会操作的
设置默认编辑模式

1
2
3
vim /etc/profile 
增加EXPORT EDITOR=vim
VIM /etc/cron.allow, vim /etc/cron.deny

crontab -e结果存放在/var/spool/cron/crontabs目录中

二.常用定时任务设置

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
crontab每分钟定时执行:

*/1 * * * * service mysqld restart //每隔1分钟执行一次
*/10 * * * * service mysqld restart //每隔10分钟执行一次


crontab每小时定时执行:

0 * * * * service mysqld restart //每小时执行
0 */1 * * * service mysqld restart //每1小时执行一次
0 */2 * * * service mysqld restart //每2小时执行一次

crontab每天定时执行:

0 10 * * * service mysqld restart //每天10点执行
30 19 * * * service mysqld restart //每天19点30分执行

crontab每周定时执行:

0 10 * * 1 service mysqld restart //每周一10点执行
30 17 * * 5 service mysqld restart //每周五17点30分执行

crontab每月定时执行:
10 1 1 * * service mysqld restart //每月1号1点10分执行

crontab每年定时执行:

0 10 1 10 * service mysqld restart //每年的10月1日10点执行
0 20 8 8 * service mysqld restart //每年的8月8日20点执行

0 19 1 * * /bin/sh xxx.sh
每个月的1号的19点钟运行xxx.sh
分钟、小时、日子可以更改,后两项为*就是monthly