一、撰寫腳本
撰寫一個腳本檔案,使腳本可以執行備份命令,
例如,將檔案目錄 /home/XXX/apache/xxx 備份到/home/bf目錄下,并壓縮,
1、創建腳本
命令格式: touch 路徑/檔案名.sh
例如:
輸入命令:touch /home/bf/backup.sh

2、撰寫腳本
首先進入腳本:vi命令
vi /home/bf/backup.sh
在腳本內寫入:
#!/bin/sh
mkdir /home/beifenwj
#創建一個臨時檔案(要保存備份的路徑)
cp -r /home/XXX/apache/xxx /home/beifenwj
#資料存在bf目錄下,備份到beifenwj目錄下,所以先將資料拷過來
tar -zcPvf /home/bf/backup$(date +%Y%m%d).tar.gz /home/beifenwj
#將資料所在檔案夾beifenwj打包
rm -rf /home/beifenwj/
#洗掉臨時檔案內容
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
#洗掉改檔案夾下超過30天的檔案-----此條資訊博主未驗證,請謹慎使用
3、執行腳本檔案
直接手動執行腳本檔案,
命令格式:sh 路徑/檔案名.sh
例如:sh /home/bf/backup.sh
二、 設定定時執行本腳本(通過crond執行定時任務),
1、先檢查系統是否安裝crond
[root@localhost]#rpm -qa|grep cron
[root@localhost]#
經檢查,系統并未安裝cron
2、crond聯網下載
yum install crontabs
3、查看crond服務是否運行
ps -ef|grep crond 或者 service crond status
4、crond服務操作命令
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
5、設定crond開機自動啟動
查看crond是否開機自動啟動:
$ chkconfig --list crond
設定crond開機自動啟動:
$ chkconfig --level 35 crond on
6、設定定時執行(定時執行上面定義的腳本檔案)
輸入命令:crontab –e
進入后繼續輸入命令:0 0 /7 * * sh /home/bf/backup.sh
設定為每7天執行一次腳本檔案
然后,保存退出:wq
重啟crond服務:/sbin/service crond restart //重啟服務
7、crond 引數說明
基本格式 :
* * * * * command
分 時 日 月 周 命令
解 釋:
第1串列示分鐘1~59 每分鐘用或者 /1表示
第2串列示小時1~23(0表示0點)
第3串列示日期1~31
第4串列示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
三、crontab不執行問題分析
- 當我們手動執行腳本成功而crontab配置定時任務不能執行腳本的時候,很有可能就是執行環境的問題,例如相關路徑的設定問題,解決方案:在腳本代碼最前面執行
source /home/user/.bash_profile - 腳本是否有可執行權限,必須保證執行腳本的用戶有執行改檔案的權限,
- 系統時間不正確,解決方案:date -s ********
- crond沒有啟動
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/206131.html
標籤:其他
下一篇:nginx配置https加密訪問
