Доброго времени суток уважаемые форумчане,
столкнулся с проблемой на сервере: необходимо скачивать определенный txt файл в нужную директорию на сервере каждые полчаса(или час) заменяя старый.
Перерыл инет в поисках ответа, но так и не смог реализовать подобную систему =(
Помоги пожалуйста! Возможно ли и как запустить такую систему??
П.С. объясните по пальцам для чайников :[
Заранее огромное спасибо.
Периодическое скачивание файлов на сервер.
Откуда скачивать?
Возможно ли и как запустить такую систему??
Возможно. Копайте в сторону cron.
Копайте в сторону cron.
...и wget.
Копал. Но не робит ничего((
подскажите плз что написать в системе...
Чем менее абстрактен вопрос, тем более детален будет ответ. Конкретизируйте в чем проблема. Как работает крон? Как создать скрипт? Как пользоваться wget-ом? Как создать папку.))Копал. Но не робит ничего((
скачивать откуда? ссылка постоянная?
можно пример того что вы накопали?
Тут наверно самое сложное, это замена старого новым. Думаю, лучше сначала скачать новый и при успехе, заменить им(удалить старый и переименовать или переместить новый) старый. А не удалив старый, качать новый.
Приблизительно как-то так
[console]
#!/bin/bash
local_dir=/home/user/
remote_dir=http://site.com/file.txt
wget -P $local_dir $remote_dir -O new_file.txt
rm $local_dir/file.txt
mv new_file.txt file.txt
exit
[/console]
Потом это все это сохранить в файл, сделать исполняемым и его добавить в cron
Я никогда не имел дело со всем этим. Понимаю, возможно глупо разъясняюсь...
Вообщем есть некоторый файл users.txt на определенном хостинге(сайте). Мне нужно,чтобы этот файл скачивался каждый час (полчаса),переименовывался в файл banned.txt, и сохранялся в директории выделенного сервера root/server/
Можно ли это организовать без запиливания скриптов тупо через крон?
Нашел на сайте что-то типа:
*/2 * * * * /usr/bin/wget /home/lesnik17/txt/ -O book.txt http://books.ru/books/mаrinina.txt
забил его в crontab -e как(скачивать каждые 5 минут):
*/5 * * * * /root/server/ -O white-list.txt http://arleonserv.p.ht/users.txt
На что крон ответил: no crontab for root - using an empty one
*/5 * * * * /root/server/ -O white-list.txt http://arleonserv.p.ht/users.txt
Ахинея.
Почитать:
Про crontab
Про wget
В общем суть какая, сейчас я могу нести ахенею, но если что меня поправят.
Чтобы не запиливать файл, хотя разницы наверно особо и нет, можно все просто там прописать.
Редактирование производится командой
[console]crontab -e[/console]это редактирование cron текущего пользователя, поэтому чтобы были права суперпользователя root необходимо запустить эту команду от его имени.
По поводу вашей ошибки
[console]no crontab for root - using an empty one[/console]это у вас нет пустой последней строки. Она нужна обязательно.
И по поводу вашей команды
[console]*/5 * * * * /root/server/ -O white-list.txt http://arleonserv.p.ht/users.txt[/console]Тут нет самой команды, /usr/bin/wget, затем -O white-list.txt означает что файл на сервер скачается под именем white-list.txt
Путь /root/server/ так задать не получится, надо либо сначала сменить директорию командой cd или задать путь самому wget с помощью ключа -P /root/server
Спасибо за подробный обзор, т.е. полная команда получится как:
*/5 * * * * /usr/bin/wget -P /root/server/ -O white-list.txt http://arleonserv.p.ht/users.txt
Или не так?
Спасибо за подробный обзор, т.е. полная команда получится как:
*/5 * * * * /usr/bin/wget -P /root/server/ -O white-list.txt http://arleonserv.p.ht/users.txt
Или не так?
Похоже.
По-идее, можно просто
*/5 * * * * /usr/bin/wget -O /root/server/white-list.txt http://arleonserv.p.ht/users.txt
Урааа,
спасибо большое,работает!)
Ребят,вы лучшие! =D
Только наверно white-list, наверно надо на banned менять.
Вообщем у меня появился еще один вопрос =(
Понимаю,что уже не совсем по теме,н не хочется ради него создавать новую тему.
Вообщем нужно чтобы каждые пол часа на сервере (Линукс,Дебиан) в определенном окне ( screen -x server) выводился необходимый текст
Это можно как то реализовать через echo??