Итак, у меня есть этот скрипт, который нужно запускать каждую минуту, поэтому я настроил cronjob для запуска скрипта, скажем, команда:
/var/www/script.py
Я использую Webmin для установки cronjob и установите его для выполнения в качестве www-данных. Я также использую его для просмотра результатов при выполнении команды.
Когда я выполняю cronjob, я получаю ошибку разрешения при попытке создать файл. Но когда я запускаю следующую команду, она работает.
sudo -u www-data /var/www/script.py
Может кто-нибудь сказать мне, почему?
Файл, который он пытается создать, называется runnning.txt
и помещается рядом со сценарием (/var/www/running.txt
)
Ошибка, сгенерированная командой при выполнении cronjob
Traceback (most recent call last):
File "/var/www/lager-scanner/filer/pluk_script.py", line 237, in <module>
with open(filename, "w+") as f:
PermissionError: [Errno 13] Permission denied: 'running.txt'
Содержимое /etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Вывод sudo -u www-data crontab -l
# * * * * * /var/www/script.py
1118 Я не знаю, как webmin делает свое дело. Это веб-интерфейс, где я просто выбираю, от какого пользователя должна запускаться команда.