使用scp在Linux主机之间进行定时备份

来源:互联网 发布:linux压缩文件命令zip 编辑:程序博客网 时间:2024/05/16 16:00

  


一、scp在建立连接中是需要密码认证的,所以我们第一步就是添加ssh公匙。
ssh终端运行

ssh-keygen -t rsa

  结果如下
  Generating public/private rsa key pair.
  Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车
  Enter passphrase (empty for no passphrase):#回车
  Enter same passphrase again:#回车
  Your identification has been saved in /home/.username /.ssh/id_rsa.
  Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
  The key fingerprint is:
  38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
  Generating RSA keys:
  Key generation complete.
  会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub
第二是把本地(10.1.1.1)主机上的id_rsa.pub文件拷贝到远程linux(10.1.1.2)主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys
  即:

scp /root/.ssh/id_rsa.pub root@10.1.1.2:/root/.ssh/authorized_keys

  这样在本地linux(10.1.1.1)主机上使用scp命令复制文件到远程linux主机(10.1.1.2)上将不提示输入密码了,直接复制了。反之亦然!

二、把命令放入脚本,如以下的脚本事例(请根据自己的具体情况修改)

#!/bin/shbackpath=/var/ftp/backup/date=`date +%y%m%d`site=sitenametar -zcvf ${backpath}${site}"-"${date}.tar.gz /var/www/${site}scp ${backpath}${site}"-"${date}.tar.gz root@backupserver:/var/backupfind ${backpath} -mtime +30 -exec rm {} \;