Linux 定时计划任务 Crontab 设置

就像再 Windows 上有计划任务一样,Linux 自然也有计划任务,而且设置更为灵活,好用。再 Linux 上可以利用 crontab 来执行计划任务, 依赖与 crond 的系统服务,这个服务是系统自带的,可以直接查看状态,启动,停止。

1、安装 crontabs 服务:

RHEL / CentOS / Fedora 安装:

sudo yum install crontabs

Ubuntu / Debian 安装:

sudo apt install cron

2、启动 crond 服务并设为开机启动:

RHEL / CentOS / Fedora 设置:

sudo systemctl start crond
sudo systemctl enable crond

Ubuntu / Debian 设置:

sudo systemctl start cron
sudo systemctl enable cron

3、查看状态:

RHEL / CentOS / Fedora 设置:

sudo systemctl status crond

Ubuntu / Debian 设置:

sudo systemctl status cron

4、设置用户自定义定时任务,修改并保存:

编辑计划任务

sudo vi /etc/crontab

输出结果可以看到:

# 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=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

说明:

* * * * *
分别代表:分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令

示例展示:

# 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=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

# 每小时的10,30分钟,以 root 身份分别执行一次命令脚本,共执行2次
10,30 * * * * * root /usr/local/mycommand.sh

# 每小时的10-30分钟,以 root 身份每分钟执行一次命令脚本,共执行20次
10-30 * * * * root /usr/local/mycommand.sh

# 每天11点到13点之间,以 root 身份每10分钟执行一次命令脚本
*/10 11-13 * * * root /usr/local/mycommand.sh

# 每天凌晨3点,以 root 身份执行一次命令脚本
0 3 * * * root /usr/local/mycommand.sh

# 每30分钟,以 root 身份执行一次命令脚本
*/30 * * * * root /usr/local/mycommand.sh

# 每天12点30分;以 root 用户身份运行 reboot 命令
30 12 * * * root reboot

# 每次开机,等待15秒 给予 /root/test 目录、以及它的子目录和文件777权限
@reboot root sleep 15; chmod 777 -R /root/test

5、加载任务,使之生效:

每次修改完计划任务之后,运行这个命令使之马上生效

crontab /etc/crontab

6、查看任务:

crontab -l

标签