linux crontab 如何创建,编辑,重启

一.如何创建crontab定时任务:

通常情况下,只有root用户和具有sudo权限的用户才能执行crontab此操作。

1.添加/编辑crontab文件:

如何 添加/编辑 Crontab:
crontab
-e #这将打开文本编辑器以编辑当前用户的cron作业。
#默认情况下,系统会编辑 当前登录用户的crontab命令集合。需要编辑其他用户的命令集合,需要使用到如下的命令: crontab -u username -e

2.添加或修改你的定时任务:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday to Saturday;
# |  |  |  |  |     7 is also Sunday on some systems)
# |  |  |  |  |
# *  *  *  *  *  user-name  command to be executed

按照上面的格式添加你的定时任务。

3.保存并退出编辑器:

4.重启crond服务以使更改生效:

systemctl restart crond.service

注意:

linux的crontab中的执行文件,必须要有可执行权限,才能被crontab定时执行。如果没有可执行权限,及时配置到了crontab中 也是无法被定时触发执行的。

 

linux中如何添加文件的执行权限:

要在Linux上增加文件的执行权限,可以使用以下方法:

1. 使用chmod命令:chmod命令用于改变文件的权限。例如,要为文件添加执行权限,可以使用以下命令:
chmod +x filename
这将为文件添加执行权限。

2.使用文件权限数字表示法:文件权限可以用数字表示,每个权限都有一个对应的数字值。执行权限的数字值为1。要为文件添加执行权限,可以使用以下命令:
chmod 755 filename
这将为文件添加所有者可读、写、执行权限,组用户和其他用户只有可读和执行权限。

ps:请注意,要使用chmod命令,您需要有足够的权限。如果您不是文件的所有者或root用户,您可能需要使用sudo命令来提升权限。

  r:读权限,w:写权限, x:执行权限

 这样你添加的cron作业就会按照预定的时间执行了。如果你只是想查看当前用户的crontab而不编辑,可以使用crontab -l命令。

二 查看Crontab命令集合

 

 

 

查看当前系统登录用户的Crontab命令集合: crontab -l
查看其他用户的Crontab命令集合 :crontab -u ussername -l
情况一:正常情况(系统有service命令) 重启服务命令:[root@centos6
/]# service crond restart 启动服务命令:[root@centos6 /]# service crond start 停止服务命令:[root@centos6 /]# service crond stop 情况二:当linux发行的版本没有service这个命令时候,用如下命令进行停止启动: 停止服务:[root@centos6 /]# /etc/init.d/cron空格stop 启动服务:[root@centos6 /]# /etc/init.d/cron空格start
下面是利用这个方式恢复cron的一个小例子。(看看就行~)
首先:检查当前的cron
# crontab -l
MAIL=rahul
0 2 * * * /script/backup.sh

然后:备份cron到文件中
# crontab -l > cron-backup.txt
# cat cron-backup.txt
MAIL=rahul
0 2 * * * /script/backup.sh

接着:移除当前的cron
# crontab -r
# crontab -l
no crontab for root

恢复:从text file中恢复
# crontab cron-backup.txt
# crontab -l
MAIL=rahul
0 2 * * * /script/backup.sh

3.crontab配置规则

 

20个超实用的Crontab使用实例
1.每天 02:00 执行任务
0 2 * * * /bin/sh backup.sh
2.每天 5:00和17:00执行任务
0 5,17 * * * /scripts/script.sh

3.每分钟执行一次任务
通常情况下,我们并没有每分钟都需要执行的脚本(默默的想到了12306--)
  * * * * *  /scripts/script.sh

4.每周日 17:00 执行任务
0 17 * * sun  /scripts/script.sh

5.每 10min 执行一次任务
*/10 * * * * /scripts/monitor.sh

6.在特定的某几个月执行任务
  * * * jan,may,aug * /script/script.sh

7.在特定的某几天执行任务
0 17 * * sun,fri /script/scripy.sh

在每周五、周日的17点执行任务
8.在某个月的第一个周日执行任务
0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh

9.每四个小时执行一个任务
0 */4 * * * /scripts/script.sh

10.每周一、周日执行任务
0 4,17 * * sun,mon /scripts/script.sh

11.每个30秒执行一次任务
我们没有办法直接通过上诉类似的例子去执行,因为最小的是1min。但是我们可以通过如下的方法。
  * * * * * /scripts/script.sh
  * * * * *  sleep 30; /scripts/script.sh
12.多个任务在一条命令中配置
  * * * * * /scripts/script.sh; /scripts/scrit2.sh

13.每年执行一次任务
@yearly /scripts/script.sh

@yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。
14.系统重启时执行
@reboot /scripts/script.sh

15.将 Cron 结果重定向的特定的账户
默认情况下,cron 只会将结果详情发送给 cron 被制定的用户。如果需要发送给其他用户,可以通过如下的方式:
  # crontab -l
  MAIL=bob
  0 2 * * * /script/backup.sh 
16.将所有的 cron 命令备份到文本文件当中
这是一个当我们丢失了cron命令后方便快速的一个恢复方式。

 

 

Crontab 配置规则

posted @ 2024-04-24 11:24  苹果芒  阅读(17)  评论(0编辑  收藏  举报