iDrive on Linux – scheduled backups don’t work after reboot

iDrive is an affordable backup solution with client-side encryption and dedicated Linux scripts.

Although it is quite nice, there is one serious problem.

Scheduled backup don’t work after reboot

For a reason I don’t understand fully (if you do – let me know!) the cron script fails after reboot. After every reboot since setting up iDrive scripts.

This is the default crontab entry from iDrive:

@reboot sleep 10; /etc/init.d/idrivecron start root

It doesn’t work. It reports some “permission denied” errors and quits:

Apr 10 14:51:17 xxxxxxxx IDRIVECRON[1823]: uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Apr 10 14:51:21 xxxxxxxx IDRIVECRON[1827]: sh: line 1: /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/dependencies/perl/perl: Permission denied
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Can't locate IxHash.pm: ./IxHash.pm: Permission denied at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/AppConfig.pm line 18.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/AppConfig.pm line 18.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Compilation failed in require at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/Common.pm line 41.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/Common.pm line 41.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Compilation failed in require at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/utility.pl line 31.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/utility.pl line 31.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: perl: warning: Setting locale failed.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: perl: warning: Please check that your locale settings:
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: LANGUAGE = (unset),
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: LC_ALL = (unset),
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: LANG = "en_US.UTF-8"
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: are supported and installed on your system.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: perl: warning: Falling back to the standard locale ("C").
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Can't locate Common.pm: ./Common.pm: Permission denied at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/dashboard.pl line 23.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/dashboard.pl line 23.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Can't locate IxHash.pm: ./IxHash.pm: Permission denied at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/AppConfig.pm line 18.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/AppConfig.pm line 18.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Compilation failed in require at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/Common.pm line 41.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/Idrivelib/lib/Common.pm line 41.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: Compilation failed in require at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/utility.pl line 31.
Apr 10 14:51:22 xxxxxxxx IDRIVECRON[1827]: BEGIN failed--compilation aborted at /home/xxxxxxxx/iDrive/IDriveForLinux/scripts/utility.pl line 31.

Thing is, that permissions seem to be correct and that exactly the same command, run by exactly same user (root) works well when executed manually.

I guessed there may be some SELinux error, but I couldn’t find any.

Nevertheless, changing crontab entry to this one solved the problem:

@reboot sleep 10; su -l -c "/etc/init.d/idrivecron start" root

Hope this helps.