shell脚本自动备份文件到另一台服务器

1.假设有两台服务器:

192.168.0.1 原服务器

192.168.0.2 备份服务器

2.shell脚本如下:

#! /bin/sh
time1=$(date "+%Y%m%d%H%M%S")
cd /data/sys_bak
mkdir  $time1
 
#bak 
ssh 192.168.0.1 tar -czvf  /opt/test/test2/cms$time1.tar.gz    /opt/test/cms/
scp -P 22 -r root@192.168.0.1:/opt/test/test2/cms$time1.tar.gz /data/sys_bak/$time1
ssh 192.168.0.1 rm -f  /opt/test/test2/cms$time1.tar.gz

3.编写cron脚本

0 1 * * * /mysqlBackup/mysqlBackup.sh

4.需要注意问题

sh脚本执行ssh需要有公钥才能进行免密操作
在备份服务器192.168.0.2 执行ssh-keygen -t rsa
在/home/当前用户名 目录下回生成.ssh,进入该目录ls就会发现有两个文件,id_rsa和id_rsa.pub,前者为私钥,后者为公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@192.168.0.1
验证方式 ssh 用户名@192.168.0.1 能成功切换到192.168.0.1机器 说明操作成功

任志帆博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • v1.0- renzhifan.cn 版权所有 ICP证:京ICP备18035965号
  • 联系邮箱:zhifan6797@163.com