Сценарий резервного копирования выполняется в задании cron, но резервное копирование не создается.

Отредактируйте свой /etc/systemd/logind.conf, измените #NAutoVTs=6наNAutoVTs=1

Создайте /etc/systemd/system/getty@tty1.service.d/override.confчерез ;

systemctl edit getty@tty1

Вставьте следующие строки

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux

включите getty@tty1.service, затем перезагрузите

systemctl enable getty@tty1.service
reboot

Arch linux docs :getty

0
31.12.2019, 14:41
2 ответа

Из комментариев ясно, что вы хотите запустить задание cron от имени пользователя root.

Вы можете запланировать такой скрипт двумя способами:

  1. Поместите его в crontab системы в /etc/crontab. Этот crontab представляет собой файл crontab с дополнительным пользовательским полем, подобным тому, что вы показываете в своем вопросе. Я бы не рекомендовал этого, поскольку некоторые системы Unix могут автоматически управлять этим crontab. Вместо этого...
  2. Поместите задание в crontab пользователя root. Вы можете редактировать crontab пользователя root с помощью команды sudo crontab -eиз своей учетной записи обычного пользователя, если у вас есть права sudo. Этот crontab является «личным crontab» пользователя root, и он удобен для запуска ваших локальных запланированных заданий, требующих привилегий root.

Обратите внимание, что среда, в которой скрипт запускается из cron, может сильно отличаться от среды, в которой вы запускаете его в интерактивной оболочке. Различия могут заключаться в том, какой текущий рабочий каталог (напишите свой сценарий, чтобы файлы копировались по абсолютным путям и из них ), а также какие переменные среды установлены и в какие значения установлены переменные (в файлах запуска вашей оболочки не будет доступен; установите их явно в скрипте вместо ).

1
28.04.2021, 23:26

Привет и добро пожаловать в сообщество!

На первый взгляд страница, которую вы использовали в качестве учебника, говорит, что нужно использовать crontab -e, но затем говорит, что вы должны указать имя пользователя в своей записи cron. При использовании инструмента crontabнет необходимости указывать имя пользователя в записи cron, так как crontab, вызываемый с помощью инструмента, в любом случае запускается в контексте пользователя. Если вы предоставите точную строку, которую вы использовали в своей конфигурации, мы сможем исправить это должным образом.

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

0 0 * * * your-command /path/to/script.sh
4
28.04.2021, 23:26

Теги

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