Привет парни я пытаюсь запустить свой скрипт 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 сценарий следующая (простое ежедневное резервное копирование / и т.д. каталог):
#!/bin/bash
dayOfTheWeek=$(date +%u)
nomeFile=backupEtc${dayOfTheWeek}.tar.gz
tar -czvf ~/${nomeFile} /etc
Вы могли поместить sudo
в crontab. Как это:
55 23 * * * sudo /home/as/bin/backupAutoEtc.sh
, Но сценарий должен быть добавлен к sudoers
как исключение, таким образом, крон может выполнить его, не предлагая Вам пароль root. Чтобы сделать это, в случае, если Вы не знаете:
sudo visudo -f /etc/sudoers.d/rewrite
Внутреннее использование эта строка:
user ALL = NOPASSWD: /home/as/bin/backupAutoEtc.sh
Использование Ваше собственное имя пользователя вместо пользователя. Проблема решена!