#业务要求:
1.备份服务器上已经为应用/数据服务器备份专门建立了一个用户和数据目录
# 2.应用/数据服务器每天定时将本机需要备份的目录打包成tar.gz
# 3.应用/数据服务器每天定时将当天生成的tar.gz包发送到备份服务器
# 4.不允许从备份服务器登录应用/数据库服务器
#由于ssh命令没有输入密码的参数且不允许设置ssh免密匙登录,因此需要借助expect软件包来实现。
#在应用/数据服务器安装expect工具和scp工具
1 2 3 4 |
rpm -qa | grep expect rpm -qa | grep scp yum install expect yum install scp |
#创建一个脚本文件并授权
1 2 |
touch scp_to_backup.sh chmod a+x scp_to_backup.sh |
#定时每天04:30执行(假设压缩备份文件的脚本是两点就执行的,此时文件应该也压缩好了)
1 2 3 |
crontab -e 输入: 30 04 * * * /root/scp_to_backup.sh |
#编写shell脚本
#注意脚本的写法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#!/usr/bin/expect -f #define variable. set passwd "mypassword" set mydate [exec date "+%Y%m%d"] #use scp spawn scp /hana/hana-backup/temp_tar/hep_$mydate.tar.gz myuser@10.10.10.220:/sap/database/ecc/hep #intput password & execute upper command. expect { "密码:" { send "$passwd\n" } "pass" { send "$passwd\n" } "yes/no" { sleep 5 send_user "send yes" send "yes\n" } eof { sleep 5 send_user "eof\n" } } send "exit\r" expect eof |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/2008.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。