iT邦幫忙

2

Linux自動備份Script

想請問各位一支Scrpit如下 :

time=$(date "+%Y%m%d")
day=$(date -d "$time" +%d)
outdate=$(date -d'-7 day' "+%Y%m%d")
if [ "$day" == "11" ]; then
mkdir /nas/volume/米米米/$time
tar -zcvPf /nas/volume/米米米/$time/allen.tar.gz /home/allen

這隻程式主要目的為當Day=11時,可以執行家目錄壓縮後傳至NAS,
但我想要變更為每週六執行,請問該如何修改,
if [ "$day" == "11" ]; then這行裡範圍
直接修改 "$day" == "Sat"是否可行?

2 個回答

2
LKK
iT邦大師 8 級 ‧ 2017-07-11 13:54:42
最佳解答
day=$(date -d "$time" +%w)
if [ "$day" == "6" ]; then

%w 改成 %a 的話依語系不同,可能顯示 Sat 或 六
所以比較建議%w

看更多先前的回應...收起先前的回應...
allenxu iT邦新手 4 級 ‧ 2017-07-11 13:57:32 檢舉

可否詢問您 %w %d %a 的差異呢
昨天爬一下文有提到%A與%a
但沒想到%w

LKK iT邦大師 8 級 ‧ 2017-07-11 14:06:14 檢舉
%w day of week (0..6); 0 is Sunday
%d day of month (e.g., 01)
%a locale's abbreviated weekday name (e.g., Sun)

看答案也會知道差異吧!

allenxu iT邦新手 4 級 ‧ 2017-07-11 14:22:28 檢舉

感謝感謝 %A似乎是要全寫
%A=Sunday

weiclin iT邦高手 7 級 ‧ 2017-07-11 14:25:25 檢舉

比較建議%w

加一票

1
做工仔人!
iT邦高手 1 級 ‧ 2017-07-11 16:05:57

為什麼不CRON TABLE ?
crontab -e
設定請參考

看更多先前的回應...收起先前的回應...
夏威夷 iT邦新手 5 級 ‧ 2017-07-11 16:52:07 檢舉

crontab 加一票!

froce iT邦新手 3 級 ‧ 2017-07-12 07:57:08 檢舉

我一進來看到程式碼,我就覺得該用crontab

+1 有同感…

牛哥 iT邦研究生 2 級 ‧ 2017-07-12 10:15:45 檢舉

+1
善用 crontab 。
多下一些功夫在LINUX基礎,可以少走一些冤枉路!
但想增強程式功力,也未嘗不可~
/images/emoticon/emoticon13.gif

allenxu iT邦新手 4 級 ‧ 2017-07-12 13:56:00 檢舉

感謝各位大神的建議,會再去研究Crontab的

tp_peter iT邦新手 5 級 ‧ 2017-07-13 09:16:22 檢舉

crontab +1

我要發表回答

立即登入回答