Назад | Перейти на главную страницу

Резервное копирование Centos при запуске сервера

я написал bash скрипт которые делают резервную копию некоторых файлов из удаленной папки при запуске системы.

Итак, при запуске системы он монтирует удаленный общий ресурс в файл модуля:

[Unit]
Description=CIFS Share from spr1-backup01
After=network-online.target

[Mount]
What=//192.168.18.12/oracle_backup
Where=/mnt/smb
Type=cifs
Options=ro,vers=2.1,credentials=/root/creds/.cred_oralocalsys

[Install]
WantedBy=multi-user.target

И после этого запускается резервный модуль (/root/nas/sender.sh - мой сценарий резервного копирования)

[Unit]
Description=Backup oracle database
After=mnt-smb.mount

[Service]
Type=simple
ExecStart=/root/nas/sender.sh
StandardOutput=journal

[Install]
WantedBy=multi-user.target

Проблема заключается в том, что запускается автоматически при запуске - он пропускает фактический процесс резервного копирования (я имею в виду часть rsync в сценарии bash, упомянутом ранее). Если я запущу этот скрипт вручную - все будет нормально и работает как положено.

Есть идеи, почему это происходит?

Подходит ли systemd для работы? cron позволяет указать задачи, которые должны выполняться один раз при загрузке.

@reboot  /path/to/job

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