Linux下用scp做异地备份

继上一篇 《Linux用crontabs做MySQL本地备份》 之后,这次换做异地备份

本来想用rsync来做备份,但是用rsync需要另外在开一个端口,免得麻烦所以选择scp,scp用来做 mysql异地备份还是够用了。。。

首先让本地的服务器登陆线上ssh免密码

用root登陆本地服务器,输入

ssh-keygen -t rsa

然后一阵回车。。。过后/root/.ssh 目录下面应该会有两个文件。

id_rsa  和 id_rsa.pub

把id_rsa.pub传到线上服务器 /root/.ssh/authorized_keys

这样就可以免密码登陆了,然后写脚本


#!/bin/bash
backupdir=/home/backup
date=` date +%Y%m%d `

#record log
echo `date` start >> $backupdir/backup_local.log

dbname=$backupdir/$date-dbname.sql.gz
scp -P 22 phpquan.com:$dbname $backupdir/

#record log
echo `date` finish >> $backupdir/backup_local.log

然后根据线上服务器备份的时间,大约晚1小时左右,执行此脚本。这样就完成了 异地本分