服务器启动时Centos备份

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

问题是,如果在启动时自动启动,它会跳过实际的备份过程(我指的是之前提到的 bash 脚本中的 rsync 部分)。如果我手动运行此脚本,一切都会正常并按预期运行。

知道为什么会发生这种情况吗?

答案1

systemd 是适合这项工作的工具吗?cron 允许您指定在启动时应运行一次的任务。

@reboot  /path/to/job

这样,备份就可以与其他操作同时运行。如果备份需要几个小时才能完成,那么每次重启时都运行备份可能会成为一场操作噩梦。

相关内容