1、定義:
crontab命令常見於Unix和類Unix的操作系統之中,用於設置周期性被執行的指令。該命令從標准輸入設備讀取指令,並將其存放於“crontab”文件中,以供之后讀取和執行。該詞來源於希臘語 chronos(χρνο),原意是時間。常,crontab儲存的指令被守護進程激活, crond常常在后台運行,每一分鍾檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。
2、安裝(默認自帶crontab)
假如執行crontab報下面的錯誤即需要安裝一下。
-bash: crontab: command not found
1). 確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
2). 安裝 crontab
執行 yum install -y vixie-cron
3). 確認是否安裝成功:
執行 crontab -l
4). 看是否設置了開機自動啟動
chkconfig --list crond
5). 啟動crontab
service crond start
3、語法使用
eg:查看當前用戶的時程表
crontab -l
4、謄寫shell(.sh)腳本
下面給出幾個通過ftp上傳和下載的例子,mget和get的區別在於多個文件和一個文件的區別,mget可以獲得多個文件,get只能獲取一個,put和mput一樣。
1). ftp自動登錄批量下載文件。
#####從ftp服務器上的/home/data 到 本地的/home/databackup####
#!/bin/bash ftp -n<<! open 192.168.1.171 user guest 123456 binary cd /home/data lcd /home/databackup prompt mget * close bye !
2). ftp自動登錄上傳文件。
####本地的/home/databackup to ftp服務器上的/home/data#### #!/bin/bash ftp -n<<! open 192.168.1.171 user guest 123456 binary hash cd /home/data lcd /home/databackup prompt mput * close bye !
3). ftp自動登錄下載單個文件。
####ftp服務器上下載/home/data/a.sh to local /home/databackup#### #!/bin/bash ftp -n<<! open 192.168.1.171 user guest 123456 binary cd /home/data lcd /home/databackup prompt get a.sh a.sh close bye !
4). ftp自動登錄上傳單個文件。
####把本地/home/databachup/a.sh up ftp /home/databackup 下#### #!/bin/bash ftp -n<<! open 192.168.1.171 user guest 123456 binary cd /home/data lcd /home/databackup prompt put a.sh a.sh close bye !
ps:上面shell各個字段意義可以查看 http://www.cnblogs.com/0201zcr/p/4737508.html
4、將shell腳本放到crontab中定時運行
通過執行下面的語句,即可進入類似於vi的文本編輯器界面,我們可以通過在上面謄寫上面那種時程表定時調用某個腳本。
crontab -e
eg:每個5分鍾執行一次腳本
第一種寫法是*/5,這種寫法有的系統會不支持 */5 * * * * /xxx/task.sh 第二種寫法比較繁瑣,但所有系統都支持: 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /xx/task.sh
列出crontab文件
致謝:感謝您的耐心閱讀!