您的位置:首页 > 运维架构 > Linux

Linux自动备份并ssh scp传输到远程备份脚本 免密钥

2011-09-20 17:35 537 查看
原文:http://www.weiruoyu.cn/?p=725
这个备份主要是对mysql的备份,备份mysql文件夹里面的文件,本地备份和远程ssh备份,下面是测试备份,实际当中还需要根据实际情况修改,绿色颜色是根据实际情况变化的,其它的也可以根据情况而变化。
如何设置无需密码的ssh登陆,方法如下:假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:1)在A机上生成钥匙对,执行以下命令:ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsaEnter passphrase (empty for no passphrase):直接回车Enter same passphrase again:直接回车Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1这样,在/root/.ssh/路径下会生成id_rsa,和id_rsa.pub,其中id_rsa是密钥,id_rsa.pub是公钥。2)把在A机生成的id_rsa.pub拷贝到B机上,假设拷贝到B机的临时目录下,如:scp /root/.ssh/id_rsa.pub root@218.242.214.20:/tmp3)用root帐号登陆B机,进入其主目录,创建authorized_keys文件,并设置好权限。cd ~/.sshcat /tmp/id_rsa.pub >>authorized_keyschmod400 authorized_keysrm -f /tmp/id_rsa.pub
4)重新打开A的链接窗口,命令行下输入
ssh 218.242.214.20
就可以看到直接进入了。

下面是代码部分。

#!/bin/sh

backdir="/backup/mysql_date"

dirname="$(date +%Y%m%d)"

dirname_y="$(date +%Y)"

dirname_m="$(date +%m)"

targz="_192.168.1.6"

DIR="192.168.1.6"

for dir in $DIR

do

mkdir -p $backdir/$dirname_y/$dirname_m/$dir

mkdir -p /$dirname$targz

done

#update

cp -r /var/tmp/beoserver/test1.txt /var/tmp/beoserver/test2.txt /$dirname$targz

#web backup

tar zcfP /$backdir/$dirname_y/$dirname_m/$dir/$dirname$targz.tar.gz /$dirname$targz

scp /$backdir/$dirname_y/$dirname_m/$dir/$dirname$targz.tar.gz root@192.168.1.200:/var/tmp

rm -rf /$dirname$targz

把脚本加入到自动运行:
先查看是否crond服务开机启动:
[root@localhost ~]# chkconfig --list crond
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
2-5启动代表开机启动。
添加语句:
[root@localhost ~]#crontab -e
添加如下内容
00 02 * * * /backup/bin/arc.sh
上面语句代表每天凌晨两点运行arc.sh脚本。
具体含义搜索crontab即可。

ssh脚本传输备份参考了: http://blogold.chinaunix.net/u1/46940/showart_476005.html http://blog.163.com/pursue100@yeah/blog/static/165732158201102101719547/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息