cron是一個linux下的定時執行工具,能夠在無需人工干預的狀況下運行做業。因爲Cron 是Linux的內置服務,但它不自動起來,能夠用如下的mysql
方法啓動、關閉這個服務: linux
/sbin/service crond start //啓動服務 sql
/sbin/service crond stop //關閉服務 shell
/sbin/service crond restart //重啓服務 centos
/sbin/service crond reload //從新載入配置bash
你也能夠將這個服務在系統啓動的時候自動啓動: oracle
在/etc/rc.d/rc.local這個腳本的末尾加上: 工具
/sbin/service crond startrest
直接用crontab命令編輯 日誌
我已經加上了,用crontab -u root -l顯示計劃任務
[root@centos56 ~]# crontab -u root -l
01 5 * * * /data/bak/mysqlbackup
01 6 * * * /data/bak/oraclebackup
用crontab -u root -e進行編輯
crontab 日誌:/var/spool/mail/[root]
若是失敗,發送的是郵件日誌記錄,能夠上述位置查看。
格式: * * * * * shell執行命令
前面五個*號表明五個數字,數字的取值範圍和含義以下:
分鐘 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0表明星期天
除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"*/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。如下舉幾個例子說明問題:
天天早上6點
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,由於cron把任何輸出都email到root的信箱了。
每兩個小時
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11點到早上8點之間每兩個小時,早上八點
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每一個月的4號和每一個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3 command line
1月1日早上4點
0 4 1 1 * command line
mysqlbackup內容
#!/bin/bash filename=`date +%Y%m%d_%H:%M` /usr/local/mysql/bin/mysqldump --opt mydatabase -u root -prootpsw |gzip >/data/bak/mysql/$filename.gz
oraclebackup內容
#!/bin/bash rq=`date +%Y%m%d_%H:%M` su - oracle -c "exp orcluser/orclpsw@orcl owner=orcluser file=/data/bak/oracle/orcl_$rq.dmp" exit 0