Показаны сообщения с ярлыком cron. Показать все сообщения
Показаны сообщения с ярлыком cron. Показать все сообщения

вторник, 19 декабря 2006 г.

Wget + Cron. Пример использования

Wget - это свободная неинтерактивная программа для загрузки файлов с Интернет. Поддерживает протоколы HTTP,HTTPS и FTP. Поскольку она неинтерактивная, то многие ее используют в фоновом режиме.

Cron - планировщик, демон в unix-подобных системах, используется для периодического выполнения разных задач.



Пример:

Есть сайт с большим количеством видео-файлов для скачивания. Но есть и условия скачивания:
1. Качать можно только по одному файлу за раз.
2. Для иностранных пользователей (вне РФ), время скачивания с 4 до 10 часов утра (московское время).

Первую проблему можно решить, используя Tor + Firefox.
Для решения второй, можно воспользоватся русским прокси. По ряду причин я этим пользоваться не хочу. Поэтому я хочу автоматизировать скачивание файлов wget-ом посредством cron.

Создаю у себя в домашней директории файл urls (название можно любое):

$ vi urls

и заношу в него urls файлов, которые я хочу качать (в моем случае, видео файлы)

http://***.net/film/lalala.cd1.avi
http://***.net/film/lalala.cd2.avi
http://***.net/film/lalala.cd3.avi
http://***.net/film/lalala.cd4.avi

(каждый новый url с новой строки).

Теперь создаю файл serhiy (название любое) и записываю в него действия для cron:

$vi serhiy

записываю

5 10 * * * /usr/bin/wget -c --directory-prefix=/home/serhiy --input-file=/home/serhiy/urls

Что значит начинать программу wget в 10 часов 5 минут, каждый день. Опция -с задает продолжение закачки недокачанного файла, --directory-prefix=/home/serhiy - место, куда записываем, --input-file=/home/serhiy/urls - файл с которого брать url's.

Создаем crontab файл.

$crontab serhiy

Все. Можно: проверить - командой crontab -l; редактировать - crontab -e; удалить crontab -r.

Очень полезно. Дал задание, через недельку в папке лежат все серии нужного фильма.

Читать дальше...