Есть два способа создайте crontab - для пользователя или глобально. Для глобального кронтаб (/ и т.д./кронтаб) можно указать пользователя, в соответствии с:
# m h dom mon dow user command
17 * * * * root cd/&& run-parts --report /etc/cron.hourly
Для пользователей crontabs вы этого не сделаете, в соответствии с:
[email protected]:~$ crontab -l
0 * * * * /home/aj/bin/update-foobar
Чтобы получить питон скрипт работает через #!нотации, вы просто сделать скрипт исполняемым (CHMOD 755 /root/test.py), и вызывать его непосредственно, что-то вроде:
/root/test.py
Если вы не хотите, чтобы сделать это, вы можете запустить его с помощью питон интерпретатор вручную, как:
/usr/bin/python /root/test.py
Это предполагает, в зависимости от того пользователя, которое вы бежите как (то есть пользователь в/и т.д./кронтабе или пользователь, вы работаете кронтаб -e как) имеете разрешения, чтобы увидеть скрипт python -/root может быть недоступен для обычных пользователей, например.
Вы можете получить хорошее представление о том, что скрипт выполняется на всех, добавив:
import time
time.sleep(20) # pause for 20 seconds
, а затем проверку с «сверху» или «пс Окс» или «pstree», чтобы увидеть, если питон на самом деле Бег.
0 1 * * */home/me/myscript указан как действительная запись crontab – ojblass
Можете ли вы дать нам вывод «откуда корень», «какой корень» и «найти/-name root 2>/dev /ноль"? Debian не разрешает пользователю указывать в crontab, поэтому мы должны предположить, что root - это команда, вызываемая (см. Мой ответ). – paxdiablo
Вам придется отказаться от раздела пользователя. Скорее su -, отредактируйте crontab как root, оставив имя пользователя, и оно будет выполнено под этим пользователем. –