Я сделал веб-сервер, чтобы показывать свою страницу локально, потому что находится в месте с плохим подключением, поэтому я хочу загрузить содержимое страницы и заменить старую, поэтому я сделал этот скрипт работает в фоновом режиме, но я не очень уверен, что это будет работать 24/7 (2m - это просто проверить его, но я хочу, чтобы он подождал 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
Не запускайте wget и распакуйте его как root. Вместо этого задайте разрешения на/var/www, чтобы использовать этот скрипт, чтобы получить доступ к файлам, в которых он нуждается. Вы также должны рассмотреть возможность использования системы cron вместо цикла для планирования. см. «man crontab» для получения дополнительной информации. – BadZen
согласен с вышеуказанными комментариями. Также смотрите здесь на S.O. для многих вопросов * nix crontab, задающих очень похожие вопросы. Удачи. – shellter
Вы думали использовать ['rsync'] (http://linux.die.net/man/1/rsync)? – ghoti