Вручную я ввожу URL-адрес в браузере, который вызывает страницу с функцией GET, которая напрямую запрашивает у меня сохранение файла. Я хотел бы автоматизировать с помощью задания cron над сценарием следующие действия:
Любой человек может помочь написать скрипт? Я могу в частном порядке предоставить URL, чтобы проверить поведение.
Один способ загрузить URL, не имея необходимость использовать пользовательский интерфейс (текст или GUI) состоит в том, чтобы использовать wget
со всеми необходимыми параметрами (как Вы желаете) как задание крона.
Пример для единственного URL (с выходным именем, объединенным с меткой времени, для обогащения ответа, могло быть статическое имя):
wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab
примечание: в кроне необходимо использовать "\%" (как во второй строке выше) вместо просто "%" (как в первой строке выше), потому что крон интерпретирует "процент" - символ.
где: -O "/home..../
разбивается на:date...
-theRestOfTheName"
полный путь (крону можно было настроить его собственный путь, таким образом, с практической точки зрения, это часто благоприятно, чтобы иметь Ваш путь интереса, указанного в каждой команде),
непрерывное выполнение date
с выводом, настроенным как человекочитаемое своего рода, устанавливают метку времени
остальная часть имени конечного файла
-b
просит, чтобы wget действительно работали в фоновом режиме с вхождением в системный журнал.
Можно дополнительно использовать список URL из файла (-i filename
). Вы могли также играть вокруг с wget и его страницей справочника (man wget
) - это относительно коротко и может дать Вам много идей.
Примечание, крон assusmes Ваша машина идет в любом случае: крон не догоняет задания в течение времени, машина была выключена. Редактирование крона как текущий пользователь
crontab -e
Добавьте строку конфигурации, которая указывает частоту выполнения команды (простая инструкция отображена как комментарий в самых верхних строках crontab редактор, считайте его). Для выполнения каждые 5 минут в воскресенье Вы записали бы:
# m h dom mon dow command
*/5 * * * 0 wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b