у меня есть простой скрипт для запуска rclone. Он выполняется должным образом из командной строки root. Он также выполняется правильно при вызове обычным заданием cron. Права доступа скрипта задаются как root / root 0755, т. е. он исполняемый. (Так rclone.)
следующая строка-это задание incron, заданное incrontab -e
и как подтверждено с icrontab -l
/var/vhosts/localdir IN_ALL_EVENTS /bin/rclonescript.sh
ниже приведен мой скрипт, который запускается из командной строки или из обычного кронового задание:
#!/bin/bash
/usr/sbin/rclone copy /var/vhosts/localdir mygoogledrive:uploadfolder
вот вывод tail -f /var/log/cron
:
Mar 16 18:45:55 localhost incrond[8215]: (root) CMD (/bin/rclonescript.sh)
вывод выглядит нормально, но скрипт не выполняется.
вот как выглядит журнал cron при успешном вызове скрипта из задания cron * * * * * /bin/rclonescript.sh
:
Mar 16 18:59:01 localhost CROND[9070]: (root) CMD (/bin/rclonescript.sh)
журнал практически такой же, но cron работает. Incron не.
Я попытался установить путь в своем скрипте, сначала проверив:
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
...затем добавляем путь к скрипту такой:
#!/bin/bash
Path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
/usr/sbin/rclone copy /var/vhosts/localdir mygoogledrive:uploadfolder
при попытке это задание inclone:
/var/vhosts/anne_scan IN_ALL_EVENTS,IN_NO_LOOP /bin bash rclonescript.sh
или
/var/vhosts/anne_scan IN_ALL_EVENTS,IN_NO_LOOP /bin rclonescript.sh
это приводит к отказу в разрешении:
Mar 17 09:00:27 localhost incrond[24917]: cannot exec process: Permission denied