假设今天在架设一台服务器运作使用时,但很怕资料库或程序被误删等状况,这时候就需要做好系统备份,排程就可以在特定时间内做备份的动作,但这类的动作基本上会在夜间时段作执行。
参数
-u
编辑(user)其他使用者的排程内容。只有 root
权限才可以使用。-l
列出(list)排程。-e
编辑(edit)排程。-r
删除(remove)排程。每一个使用者用户,都有自己的排程管理,所以要查看自己定义的排程,就可以透过以下指令。
[root@localhost ~]# crontab -l
[root@localhost ~]# crontab -u [使用者帐户] -l
进入排程内容,编辑跟 vi
的方式差不多。
[root@localhost ~]# crontab -e
编辑特定使用者排程内容,跟检视特定使用者排程一样。
[root@localhost ~]# crontab -u [使用者帐户] -e
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab -u [使用者帐户] -r
排程服务会读取排程的设定档 /etc/crontab
,档案内容分为「环境设定」与「排程工作」。
[root@localhost ~]# cat /etc/crontab
# 环境设定
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# 排程工作
# 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
依照CentOS7 的环境设定,预设都会以 bash
的 shell。
MAILTO 则是会将执行排程工作的输出讯息以邮件方式寄给使用者。
栏位编号 | 说明 | 可设定值 |
---|---|---|
1 | 分钟 | 0分 到 59分 |
2 | 小时 | 凌晨 0时 到 23时 |
3 | 日期 | 每月1日 到 31日 |
4 | 月份 | 1月 到 12月,可用英文简称,例如:Jan、Feb... |
5 | 星期 | 0 到 7,0,7 都代表星期日,可用英文简称,例如:Mon |
6 | 使用者帐号 | 依照哪个使用设定的排程去执行该排程 |
7 | 排程工作指令 | 自行定义排程指令 |
特殊符号 | 说明 |
---|---|
* |
任意时间 |
, |
分隔不同时间点 |
- |
时间区间 |
/n |
每隔n单位执行 |
设定值 | 排程时程 | 备注 |
---|---|---|
@reboot | 每次重新开机就执行 | |
@yearly | 每年1日执行 | 0 0 1 1 * |
@annually | 同上 | 0 0 1 1 * |
@monthly | 每月一号零时零分执行 | 0 0 1 * * |
@weekly | 每周星期天零时零分执行 | 0 0 * * 0 |
@daily | 每天零时零分执行 | 0 0 * * * |
@midnight | 同上 | 0 0 * * * |
@hourly | 每小时零分执行 | 0 * * * * |
设定值 | 排程时程 | 备注 |
---|---|---|
01 * * * * | 每小时的第1分钟执行 | |
00 04 * * * | 每天凌晨04点00执行 | |
00 01 * * 1 | 每个礼拜星期一的凌晨01点00执行 | |
00 01 * * Mon | 同上 | |
30 08 15 * * | 每个月的15日08点30分执行 | |
01 * 4 May * | 每年五月4日每小时的第一分钟执行 | |
*/10 * * * * | 每10分钟执行一次 | |
00 10-15 * * * | 每天从早上10点到下午15点,整点执行一次 | |
00,30 * * * * | 每小时的00分及30分各执行一次 |
每天凌晨1点、下午13点执行一次备份
0 1,13 * * * /home/web/crontab/backup.sh
每30分钟执行一次。
*/30 * * * * /home/web/crontab/calculation.sh
使用特殊排程时间,每天0时0分进行备份
@daily /home/web/crontab/backup.sh
<<: [Day26]Flutter Netflix UI ListView中第一个可见的Item显示,其他都变暗
>>: Day 26 Quantum Protocols and Quantum Algorithms
如果你问上班族,公司的网路稳不稳?喜不喜欢视讯开会?大概八成以上持否定的态度。另外,在号称大云端、大...
建立结构化的 Log 系列文章 (1/4) - Elastic Common Schema 结构化 ...
Icebear今天的进度只有建立资料库,虽然昨天已经把架构图画好,但是建立资料库需要一些时间,所以I...
在介绍 useRef 之前,先来介绍 ref。 在 React 中如果我们想要获取 DOM 或获取...
float称为浮动元素,可以想像是加上这个元素的物体都会飘浮在空中 接下来示范一些用法来认识这个元素...