昨天在一個論壇上看到有人想要每天自動備份的排程,所以就把自己的想法給記錄下來。
步驟:
一、撰寫一個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的權限也要跟著改變
一、撰寫一個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的權限也要跟著改變