我试图制作一个脚本,ssh到多个服务器并运行它们的备份。服务器有不同的文件夹,应该包含在内。rsync备份bash脚本从另一个文件中读取选项
我试图用2个文件来做到这一点,它指定了应该包含在备份中的主机名和文件夹。
[SERVER]
HOST=server1
SOURCE="/home"
SOURCE="/etc"
[SERVER]
HOST=server2
SOURCE=/home"
SOURCE="/etc"
SOURCE="/var"
[EOF]
而且有一个文件从该文件读取并执行备份。
while read host
do
for i in
rsync -chazP --fake-super --rsync-path="sudo rsync" --stats [email protected]$host:/home /var/backup/$host/
done
done < /var/backup/testscripts/hosts
这是脚本的第一个版本,当选项文件只有主机名的时候,它才能工作。
如何让脚本读取主机变量,然后读取1 SOURCE行并执行备份,然后读取下一个SOURCE行并再次运行。当它读取[SERVER]时,它应该重新开始,当涉及到[EOF]时它应该结束。
Iam初学者在脚本编写,所以所有的帮助和解释是值得欢迎的。
我建议看看'dirvish'来用rsync备份服务器。 – Cyrus