#linux #cron #wget
#linux #cron #wget
Вопрос:
Я пытаюсь создать скрипт для ежедневной загрузки файла с перезаписью старой версии.
Я почти уверен, что мне нужно задание cron и сценарий оболочки со строкой wget в нем, но это все, что я знаю. Кроме того, мне нужно сделать все это через ssh, если только нет другого способа, о котором я не знаю.
Если я сделаю это через SSH, какие команды мне нужно использовать на различных этапах процесса? Как будут выглядеть файлы cron и оболочки? Если есть способ получше, пожалуйста, просветите!
Спасибо! Zeem
Комментарии:
1. Зачем вам нужен SSH для автоматической загрузки файла?
wget
уже поддерживает SSL. Удаление старых версий — это работа дляrm
. Задание cron создается черезcrontab -e
. Опубликуйте то, что у вас есть на данный момент, и люди ответят на ваши оставшиеся вопросы.2. Я имел в виду использование SSH для создания задания cron.
3. @KilianFoth Иногда хотелось бы войти через SSH для загрузки файлов, которые не должны быть общедоступными. Например, резервное копирование файлов. Если бы кто-нибудь мог их загрузить, это был бы беспорядок : D
Ответ №1:
Из вашего описания я представляю следующее:
- подключитесь к серверу через SSH
-
найдите местоположение wget
какой wget
(на моей машине это / usr/bin / wget)
-
добавьте следующее в свой /etc / crontab (или файл cronjobs) с помощью текстового редактора, такого как pico или vi:
@daily /usr/bin/wgethttp://remote-host.name/path/to/file.txt /local/path/to/file.txt
(Если вы добавите это в /etc / crontab, вам, вероятно, понадобится дополнительный пользовательский параметр, но для этого вы можете посмотреть справку crontab.)
надеюсь, это поможет.
Ответ №2:
Внедрите ssh-аутентификацию без пароля между хостами. http://www.linuxproblem.org/art_9.html
Таким образом, хост A может создать / реализовать скрипт или cronjob на хосте B, используя ssh.
Чтобы создать cronjob с помощью скрипта, ваш скрипт создаст (например) текстовый файл по адресу /etc/cron.d/CronJobName
. Важно, чтобы содержимое файла соответствовало формату corn:http://en.wikipedia.org/wiki/Cron#Examples
(Надеюсь, я правильно понял ваш вопрос)
Ответ №3:
Спасибо за ваши ответы, к счастью, это было намного проще. Я смог добавить задание cron через cpanel, и строка wget попала прямо туда.