我做了一個web服務器來顯示我的網頁在本地,因爲位於一個連接不好的地方,所以我想要做的是下載頁面內容並替換舊的,所以我做這個腳本在後臺運行,但我不是很確定這是否可以全天候工作(2米只是爲了測試它,但我希望它會等待6-12小時),所以,¿你對這個腳本有什麼看法?是不安全的?或者對於我在做什麼而言足夠了?謝謝。腳本下載網頁
#!/bin/bash
a=1;
while [ $a -eq 1 ]
do
echo "Starting..."
sudo wget http://www.example.com/web.zip --output-document=/var/www/content.zip
sudo unzip -o /var/www/content.zip -d /var/www/
sleep 2m
done
exit
UPDATE:此代碼我現在用: (只是一個原型,但我假裝不使用sudo)
#!/bin/bash
a=1;
echo "Start"
while [ $a -eq 1 ]
do
echo "Searching flag.txt"
if [ -e flag.txt ]; then
echo "Flag found, and erasing it"
sudo rm flag.txt
if [ -e /var/www/content.zip ]; then
echo "Erasing old content file"
sudo rm /var/www/content.zip
fi
echo "Downloading new content"
sudo wget ftp://user:[email protected]/content/newcontent.zip --output-document=/var/www/content.zip
sudo unzip -o /var/www/content.zip -d /var/www/
echo "Erasing flag.txt from ftp"
sudo ftp -nv < erase.txt
sleep 5s
else
echo "Downloading flag.txt"
sudo wget ftp://user:[email protected]/content/flag.txt
sleep 5s
fi
echo "Waiting..."
sleep 20s
done
exit 0
erase.txt
open xx.xx.xx.xx
user user password
cd content
delete flag.txt
bye
請勿以root身份運行wget並解壓縮。相反,請在/ var/www上設置權限,以便使用此腳本可以訪問需要的文件。您還應該考慮使用系統cron工具而不是循環來執行計劃。有關更多信息,請參閱「man crontab」。 – BadZen
同意上面的評論。也在這裏搜索S.O.對於許多* nix crontab問題提出非常類似的問題。祝你好運。 – shellter
你有沒有想過使用['rsync'](http://linux.die.net/man/1/rsync)? – ghoti