手机版

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

时间:2020-02-16 来源:互联网 编辑:宝哥软件园 浏览:

之间我们已经介绍过rsync的备份方法,但架设和使用起来相对复杂,而且如果你只是小部分备份,比如只是备份MySQL数据库,就没有必要使用rsync软件备份了。而之前的lftp增量备份似乎也不适合这种备份。在两台Linux主机,而且都是ssh权限,那就建议使用scp命令备份了,这种备份速度快且是加密传输,安全性高。

一、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)上将不提示输入密码了,直接复制了。反之亦然!
二、如何使用scp命令
http://www.centos.bz/2011/03/linux-scp-transfer-data-between-two-servers-command/
三、把命令放入脚本,如以下的脚本事例(请根据自己的具体情况修改)

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

如果是备份MySQL数据库,请参考以下文章。
Linux VPS手动导入导出mysql数据库
四、使用crontab命令定时运行脚本。
http://www.centos.bz/2011/03/auto-run-task-crontab/

版权声明:使用scp在Linux主机之间进行定时备份是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐