Cron是Linux系統(tǒng)中以后臺進程模式拓瞪,周期性執(zhí)行的服務(wù)初厚。
服務(wù)對應的進程名為Crond速妖。
時間間隔的最小單位為分鐘
注意:集群環(huán)境下需要同步時間 NTP
# 查看是否安裝
[root@localhost ~]# rpm -qa cronie
cronie-1.4.11-23.el7.aarch64
# 查看安裝路徑信息
[root@localhost ~]# rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/lib/systemd/system/crond.service
/usr/sbin/crond
/usr/share/doc/cronie-1.4.11
/usr/share/doc/cronie-1.4.11/AUTHORS
/usr/share/doc/cronie-1.4.11/COPYING
/usr/share/doc/cronie-1.4.11/ChangeLog
/usr/share/doc/cronie-1.4.11/INSTALL
/usr/share/doc/cronie-1.4.11/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
# 查看系統(tǒng)定時任務(wù)贡定,在/etc目錄下材鹦,以cron開頭的
[root@localhost ~]# ls -al /etc/ | grep cron
-rw-------. 1 root root 541 Aug 9 2019 anacrontab
drwxr-xr-x. 2 root root 4096 Dec 25 12:42 cron.d
drwxr-xr-x. 2 root root 4096 Dec 25 10:47 cron.daily
-rw-------. 1 root root 0 Aug 9 2019 cron.deny
drwxr-xr-x. 2 root root 4096 Dec 25 10:46 cron.hourly
drwxr-xr-x. 2 root root 4096 Jun 10 2014 cron.monthly
-rw-r--r--. 1 root root 451 Jun 10 2014 crontab
drwxr-xr-x. 2 root root 4096 Jun 10 2014 cron.weekly
種類
croud
atd
臨時的,運行一次
anacron
非7*24小時的
系統(tǒng)定時任務(wù)
- cron.hourly 每小時運行的定時任務(wù)
- cron.daliy 每天運行的定時任務(wù)
- cron.weekly 每周運行的定時任務(wù)
- cron.monthly 每月運行的定時任務(wù)
- cron.deny 拒絕定時任務(wù)黑名單
- crontab 定時任務(wù)配置文件
案例1:日志分割律罢,系統(tǒng)定時任務(wù)+logrotate
# 案例位置
[root@localhost ~]# cd /etc/cron.daily/
[root@localhost cron.daily]# ll
total 8
-rwx------. 1 root root 219 Apr 1 2020 logrotate
-rwxr-xr-x. 1 root root 618 Oct 30 2018 man-db.cron
案例2:locate定時更新db膀值,系統(tǒng)定時任務(wù)+mlocate
案例位置同案例1
用戶定時任務(wù)
重要文件&目錄
/var/log/cron,系統(tǒng)定時任務(wù)文件误辑,不顯示對錯信息
/etc/deny沧踏,定時任務(wù)黑名單
/var/spool/cron,每分鐘都會查看該路徑下系統(tǒng)用戶和root
如何使用
crontab命令巾钉, cron table定時任務(wù)列表
常見的參數(shù)
crontab -l 查看定時任務(wù)列表
crontab -e 編輯定時任務(wù)列表
crontab -r 刪除定時任務(wù)列表
crontab -i 交互
crontab -u 指定用戶定時任務(wù)列表
特殊符號
- user-name command to be executed
分 時 日 月 周
分鐘 0-59
小時 0-23
日 1-31
月 1-12或英文
周 周數(shù)/周幾/星期幾/0-6
/ 表示間隔悦冀,每分鐘、每小時
- user-name command to be executed
[root@localhost cron]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# 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
步驟
- crontab -e
- 按照格式寫好 * * * * *
- 按照需求替換 每個*對應的值
# 每天8:30分執(zhí)行updatedb
30 8 * * * updatedb
# 每天早上4點00分執(zhí)行/root/backup.sh腳本
0 4 * * * /root/backup.sh
# 每周六凌晨1點10分睛琳,重啟httpd服務(wù)
10 1 * * 6 systemctl restart httpd
# 每周六和周日凌晨1點10分盒蟆,重啟httpd服務(wù)
10 1 * * 6,0 systemctl restart httpd
# 每月1號 10號 20號 PM1點45分,重啟httpd服務(wù)
45 13 1,10,20 * * systemctl restart httpd
# 每隔1小時师骗,重啟httpd服務(wù)
0 */1 * * * systemctl restart httpd
# 每月4號與周1-周三晚上11點历等,重啟httpd服務(wù)
0 23 4 * 1-3 systemctl restart httpd
# 每周五凌晨5點通過rsync實現(xiàn)備份
0 5 * * 5 rsync -avzP a.txt rsync_backup@114.116.7.185::data --password-file=/etc/rsync.pass