我有两台 linux 服务器;服务器二是服务器一的备份,其中服务器二是安装到服务器一的 NFS。
我rsnapshot
在服务器一上使用从服务器二复制/data/
到nfs 安装的文件夹/bkup
。
问题是如果 nfs/bkup
挂载不存在,rsnapshot 会将 /data {20tb) 复制到根分区 {1tb}。
我不想让我的一个调用启动 rsnapshot,我想调用一个备份脚本,该脚本首先检查所有内容,然后再调用 rsnaphot 以防止出现这种情况。我不认为 rsnapshotno_create_root
是相关的,因为该/bkup
文件夹将始终存在。bash脚本中会发生以下情况吗? 我希望精通 bash 的人可以在 2 分钟内输入它?我的 bash 写作很糟糕。
if ( showmount -e server_two responds with "/bkup server_two" )
{
if ( check if /bkup is nfs mounted == true )
{
/usr/bin/rsnapshot daily
}
else
{
mount /bkup
if ( check if /bkup is nfs mounted === true )
{
/usr/bin/rsnapshot daily
}
}
}
现在我可以在 server_one 上的 nfs bkup 挂载良好的地方/时间工作
mount | grep bkup
server_two:/bkup on /bkup type nfs4
(rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.2,local_lock=none,addr=192.168.1.1)
df -h | grep bkup
server_two:/bkup 15T 3.0T 12T 21% /bkup
showmount -e server_two
Export list for server_two:
/bkup server_one
我们的 crontab 有一行类似于
您可以将其调整为您的脚本。