服务器启动时的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 

Probles是如果启动时自动启动 – 它跳过实际的备份过程(我的意思是前面提到的bash脚本中的rsync部分)。 如果我手动运行这个脚本 – 一切都会很好,按预期工作。

任何想法为什么发生这种情况

systemd是工作的正确工具吗? cron让你指定在启动时应该运行一次的任务。

 @reboot /path/to/job 

通过这种方式,备份与其他一切并行运行。 如果备份需要几个小时才能运行,那么在每次重新启动时运行备份可能会成为一个可操作的噩梦。