Как запустить скрипт вне домашнего каталога через cron

У меня есть сценарий, расположенный по адресу /home/user/backup.sh

Я пытаюсь выполнить этот скрипт через свой root crontab. Он не работает. Сценарий работает, если я создаю crontab под моей user записью user .

В любом случае, чтобы запустить этот скрипт в качестве корневого crontab? Вот строка, которую я использую.

25 20 * * * sh /home/user/backup.sh


Содержание скрипта:

 tar -czvf /home/user/backup/backup.tar.gz /var/www/ mysqldump -u root -p password --all-databases > /home/user/backup/backup.sql rsync -avz /home/user/backup user@myserver:/home/user/ 

One Solution collect form web for “Как запустить скрипт вне домашнего каталога через cron”

root имеет полный доступ к вашей системе, но не обязательно имеет все ключи к другим системам, которые есть у вашей обычной учетной записи пользователя.

Так беда:

 rsync -avz /home/user/backup user@myserver:/home/user/ ^^^^ 

Если вы вызываете root для выполнения этой команды как вы , ваши ключи будут использоваться, и команда будет успешной:

 sudo -u user rsync -avz /home/user/backup user@myserver:/home/user/ 

Кроме того, вы можете установить открытый ключ root в качестве принятого SSH-ключа для user в системе myserver .

  • как получить результаты выполнения задания cron
  • Запуск работы в рубине
  • Crontab для резервного копирования каталога
  • Почему эта прокомментированная строка строки crontab выполнена?
  • cron midnight 00 24 или 00 00?
  • Могу ли я использовать переменные в файле crontab?
  • Команда запуска приложения в определенном каталоге
  • Пользователь не имеет доступа к crontab
  • cron из нескольких файлов
  • Максимальное количество записей в Crontab
  • Сохраняйте вывод arp в терминале в текстовый файл каждую минуту, используя crontab
  • Linux и Unix - лучшая ОС в мире.