Я пытаюсь настроить простой таймер systemd для запуска bash script каждый день в полночь.
systemctl --user status backup.service
завершается сбой и регистрируется следующее:
backup.service: Failed at step EXEC spawning /home/user/.scripts/backup.sh: No such file or directory.
backup.service: Main process exited, code=exited, status=203/EXEC
Failed to start backup.
backup.service: Unit entered failed state.
backup.service: Failed with result 'exit-code'.
Я потерян, так как файлы и каталоги существуют. script является исполняемым и, просто для проверки, я даже установил разрешения для 777.
Некоторая предыстория:
Файлы единиц backup.timer
и backup.service
расположены в /home/user/.config/systemd/user
.
backup.timer
загружен и активен и в настоящее время ждет полночь.
Вот как это выглядит:
[Unit]
Description=Runs backup at 0000
[Timer]
OnCalendar=daily
Unit=backup.service
[Install]
WantedBy=multi-user.target
Здесь backup.service
:
[Unit]
Description=backup
[Service]
Type=oneshot
ExecStart=/home/user/.scripts/backup.sh
[Install]
WantedBy=multi-user.target
И, наконец, это парафраз backup.sh
:
#!/usr/env/bin bash
rsync -a --delete --quiet /home/user/directory/ /mnt/drive/directory-backup/
script отлично работает, если я сам его выполнил.
Не уверен, если это имеет значение, но я использую fish
как свою оболочку (запущенную из .bashrc).
Я рад опубликовать полный script, если это будет полезно.