Cronjob не працює


1

У мене є простий кронтаб для копіювання моєї місцевої радіостанції тільки тоді, коли я хочу:

0 16 * * 0 /root/streamripper.sh
0 17 * * 0 killall streamripper
0 20 * * 0 /root/streamripper.sh
0 21 * * 0 killall streamripper

і це не працює. Також, це вміст streamripper.sh:

#!/bin/sh
streamripper http://some.radio.com/stream.aac -s -o never -d /some/secret/directory

Дякую :)

Відповіді:


2

Є виконуваний файл streamripper.sh (chmod + x /root/streamripper.sh)? Чи є бінарний стовпчик у шляху? Спробуйте дати повний шлях до нього в сценарії (ви отримаєте повний шлях з which streamripper ).


2

Варто перевірити, чи справді запущено cron - перевірте, чи вміст / var / log / cron прив'язаний до очікуваного часу виконання. Крім того, чи дійсно потрібно згадати, що сценарій, ймовірно, робить щось протизаконне? -1 для спроби знищити цілісність цього сайту.


1

Ви отримуєте повідомлення електронної пошти про помилки? Я б встановив MAILTO = some_use_you_read_mail_for і подивитися, чи є якісь явні помилки.

і ви не зовсім визначите "не працює"


1

Якщо ви хочете запускати як root, то у вас має бути написано так:

0 16 * * 0 корінь /root/streamripper.sh

U потрібно сказати cron користувачеві корінь щоб він міг правильно працювати

Також переконайтеся, що скрипт має належні права, тому корінь може виконати його, і ви можете перевірити право, ввівши наступну команду:

ls -l / some / path / to / script /

і має виглядати так:

-rwx -r - r--

Що я підкреслив, що це те, що має бути там.

Якщо буква x відсутня, то u слід написати наступний командний рядок:

sudo chmod u + x / some / path / до / script / name_of_script


0

І дійсно немає сенсу запускати streamripper як користувача корінь . Для цього краще використовувати будь-якого непривілейованого користувача. Наприклад, власний.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.