原文:http://www.weiruoyu.cn/?p=725

这个备份主要是对mysql的备份,备份mysql文件夹里面的文件,本地备份和远程ssh备份,下面是测试备份,实际当中还需要根据实际情况修改,绿色颜色是根据实际情况变化的,其它的也可以根据情况而变化。

如何设置无需密码的ssh登陆,方法如下:

假设AB两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:

1)在A机上生成钥匙对,执行以下命令:

ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa

Enter 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:/tmp

3)用root帐号登陆B机,进入其主目录,创建authorized_keys文件,并设置好权限。

cd ~/.ssh

cat /tmp/id_rsa.pub >>authorized_keys

chmod400 authorized_keys

rm -f /tmp/id_rsa.pub

4)重新打开A的链接窗口,命令行下输入

ssh 218.242.214.20

就可以看到直接进入了。


下面是代码部分。


 
  
  1. #!/bin/sh

  2. backdir="/backup/mysql_date"

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

  4. dirname_y="$(date +%Y)"

  5. dirname_m="$(date +%m)"

  6. targz="_192.168.1.6"

  7. DIR="192.168.1.6"

  8. for dir in $DIR

  9. do

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

  11. mkdir -p /$dirname$targz

  12. done

  13. #update

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

  15. #web backup

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

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

  18. 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/