/sbin/service crond start --啓動服務 /sbin/service crond stop --關閉服務 /sbin/service crond restart --重啓服務 /sbin/service crond reload --從新載入配置
crontab
cron.d
cron.daily
cron.hourly
cron.monthly
cron.weekly
/etc/cron.deny 文件列出全部不容許使用 crontab命令的用戶 /etc/cron.allow 文件所列的用戶容許使用crontab命令 /var/spool/cron 全部用戶的crontab文件 /var/spool/cron/crontabs
crontab -l 列出某個用戶的cron服務內容 crontab -e 編輯某個用戶的cron 的內容 crontab -r 移除某個用戶的cron的全部內容 crontab -u 設定某用戶的cron服務
root 查看自身的cron設置:crontab -u root -l
刪除用戶test的cron設置:crontab -u test -r
*/5 * * * * /opt/test.sh 每5分鐘就執行一次/opt/test.sh腳本 0 3,6 * * * /usr/local/bin/test.sh 每在3點和6點整點都執行/usr/local/bin/test.sh命令 0 8-12 * * * /root/backup.sh 8 點到 12 點之間的每小時的0分都執行/root/backup.sh 0 */2 * * * echo "Have a break now." >> /tmp/test.txt 每兩個小時 0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt 晚上11點到早上8點之間每兩個小時,早上八點 0 11 4 * 1-3 command line 每月的4號和每一個禮拜的禮拜一到禮拜三的早上11點 0 4 1 1 * command line 1月1日早上4點 01 6 * * * find /home/mysql/databack/* -mtime 30 -print|xargs rm -rf 定時清除 數據庫備份
二、編輯/etc/crontab 文件配置cronmysql
cron服務每分鐘不只要讀一次/var/spool/cron內的全部文件,還須要讀一次/etc/crontab,所以咱們配置這個文件也能運用cron服務作一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。linux
此文件的文件格式是:
redis
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //若是出現錯誤,或者有數據輸出,數據做爲郵件發給這個賬號 HOME=/ //使用者運行的路徑,這裏是根目錄 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本 02 4 * * * root run-parts /etc/cron.daily //天天執行/etc/cron.daily內的腳本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本 42 4 1 * * root run-parts /etc/cron.monthly //每個月去執行/etc/cron.monthly內的腳本
你們注意"run-parts"這個參數了,若是去掉這個參數的話,後面就能夠寫要運行的某個腳本名,而不是文件夾名了。sql
典型例子:數據庫
定時備份mysql 數據庫vim
一、crontab -ebash
二、01 3 * * * /home/backmysqlurl
三、vim /home/backmysqlspa
#!/bin/sh rq=`date +%Y%m%d` mysqldump -uroot -p123456 teatop_db --skip-lock-tables >/mysqldata/databack/mysql$rq.sql
四、/sbin/service crond restartrest
定時備份redis
一、crontab -e
二、01 3 * * * /home/redis.sh
三、vim /home/redis.sh
#!/bin/sh rq=`date +%Y%m%d` mkdir /mysqldata/redis/redis$rq cp -R /usr/redisdata/* /mysqldata/redis/redis$rq
四、service crond restart