Crontab работает, но root crontab не

Привет, ребята, я пытаюсь запустить мой сценарий 23:55 каждого дня. Это мой код:

# m h dom mon dow command PATH=/usr/sbin:/sbin:/usr/bin:/bin 55 23 * * * bash -l /home/as/bin/backupAutoEtc.sh

И это отлично работает в crontab -e, но не работает, если я помещаю его в sudo crontab -e. У меня есть пустая строка в конце файла (я также пробовал без bash -l). Файл журнала одинаковый для корневого crontab и обычного crontab (без ошибок), поэтому я не понимаю, почему первый работает, а второй - нет. Я уже прочитал много ответов на эту тему, но никто не работал для меня.

Спасибо заранее

PS Скрипт следующий (простая ежедневная резервная копия каталога / etc):

#!/bin/bash dayOfTheWeek=$(date +%u) nomeFile=backupEtc${dayOfTheWeek}.tar.gz tar -czvf ~/${nomeFile} /etc
1
задан 7 October 2017 в 18:01

2 ответа

Вы можете поставить sudo в crontab. Например:

55 23 * * * sudo /home/as/bin/backupAutoEtc.sh

Но сценарий должен быть добавлен в sudoers как исключение, поэтому cron может запустить его, не запрашивая пароль root. Для этого, если вы не знаете:

sudo visudo -f /etc/sudoers.d/rewrite

Внутри используйте эту строку:

user ALL = NOPASSWD: /home/as/bin/backupAutoEtc.sh

Используйте свое собственное имя пользователя вместо пользователя. Проблема решена!

0
ответ дан 18 July 2018 в 05:38

Вы можете поставить sudo в crontab. Например:

55 23 * * * sudo /home/as/bin/backupAutoEtc.sh

Но сценарий должен быть добавлен в sudoers как исключение, поэтому cron может запустить его, не запрашивая пароль root. Для этого, если вы не знаете:

sudo visudo -f /etc/sudoers.d/rewrite

Внутри используйте эту строку:

user ALL = NOPASSWD: /home/as/bin/backupAutoEtc.sh

Используйте свое собственное имя пользователя вместо пользователя. Проблема решена!

0
ответ дан 24 July 2018 в 18:23

Другие вопросы по тегам:

Похожие вопросы: