每日備份/etc的範例


昨天在一個論壇上看到有人想要每天自動備份的排程,所以就把自己的想法給記錄下來。

步驟:
一、撰寫一個shell script
二、設定執行的權限
三、加入crontab排程

一、撰寫一個shell script
    Shell檔案的內容,檔名為test.sh,路徑在/root:
        #!/bin/sh
        v_today=`date +%Y%m%d`
        v_file=home_${v_today}.tar.gz
        tar -zcf v_file /etc

    說明:
        1、「`」是TAB鍵的上面那一個,執行指令並將結果return給變數。
            例如:v_today=`date +%Y%m%d`
         2、雙引號:變數會代入值;單引號:變數是字串
            例如:"home_$v_today.tar.gz" --> home_20120705.tar.gz
                  'home_$v_today.tar.gz' --> home_$v_today.tar.gz
         3、代入變數的方法可以用雙引號或大括號
            例如:"home_$v_today.tar.gz" 或 v_file=home_${v_today}.tar.gz
   
二、設定執行的權限
    # chmod 700 test.sh

三、加入crontab排程
    排程的格式為 分 時 日 月 週 shell
     # crontab -e
     輸入 00 01 * * * /root/test.sh
     這樣每天的早上1點時就會執行test.sh
   
     如果想以其他的帳號(oracle)來執行shell,則可以改為:
     00 01 * * * su - oracle -c /home/oracle/test.sh
     當然shell script的權限也要跟著改變