Rclone'u çalıştırmak için basit bir betiğim var. Kök komut satırından düzgün şekilde çalışır. Ayrıca düzenli bir cron işi tarafından çağrıldığında düzgün şekilde yürütülür. Komut dosyasının izinleri root / root 0755 olarak ayarlanmıştır, yani çalıştırılabilir. (Böylece rclone)
Aşağıdaki satır, tarafından belirlenen incrontab -e
ve onaylandığı gibi incron işidir.icrontab -l
/var/vhosts/localdir IN_ALL_EVENTS /bin/rclonescript.sh
Komut satırından veya normal bir cron işinden çalışan betiğim şöyle:
#!/bin/bash
/usr/sbin/rclone copy /var/vhosts/localdir mygoogledrive:uploadfolder
İşte çıktı tail -f /var/log/cron
:
Mar 16 18:45:55 localhost incrond[8215]: (root) CMD (/bin/rclonescript.sh)
Çıktı tamam görünüyor, ancak komut dosyası çalışmıyor.
Bu, komut dosyası bir cron işinden başarıyla çağrıldığında cron günlüğünün nasıl göründüğüdür * * * * * /bin/rclonescript.sh
:
Mar 16 18:59:01 localhost CROND[9070]: (root) CMD (/bin/rclonescript.sh)
Günlük pratikte aynıdır, ancak cron işi işe yarıyor. Incron yapmaz.
Yolu betiğimde ayarlamaya çalıştım, önce şunu kontrol ederek:
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
... sonra betiğe şu şekilde yol ekleyerek:
#!/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
Bunu dahil iş olarak denediğimde:
/var/vhosts/anne_scan IN_ALL_EVENTS,IN_NO_LOOP /bin bash rclonescript.sh
veya
/var/vhosts/anne_scan IN_ALL_EVENTS,IN_NO_LOOP /bin rclonescript.sh
İzin reddedilmesine neden olur:
Mar 17 09:00:27 localhost incrond[24917]: cannot exec process: Permission denied