linux下网站定时自动备份wget、ssh、scp方法总结

作者:简简单单 2015-03-23

第一种wget直接下载:在远程服务器上运行crontab -e命令添加定时任务

30 7 * * * cd /home/backup/&&wget http://源服务器IP/xxx_$(date +%Y%m%d).tar.gz

(每天7点半自动下载到备份服务器的backup目录下)

用scp命令备份需要先设置下SSH用密匙登陆

假设有两台linux服务器A和B,当A连接B时不需要输入密码,实现方法是在A vps上使用ssh-keygen命令生成一对公私钥,具体操作如下:

在 A 服务器操作:

运行:ssh-keygen -t rsa 三次回车
生成公钥id_rsa.pub和私匙id_rsa,默认存放在/root/.ssh/目录下

在 B 服务器上操作:

把A公钥id_rsa.pub 复制上传到 B 服务器/root/.ssh/目录下
ps:没有.ssh目录可放在其它目录或创建一个:mkdir .ssh

再创建一个:touch /root/.ssh/authorized_keys
chmod 700 /root/.ssh

继续在 B 服务器上操作:

运行:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

设置好后重启下ssh

CentOS 重启SSH : service sshd restart

Debian重启SSH:service ssh restart

在A服务器上centos执行: ssh root@B服务器的IP -P端口

debian执行:ssh -l root B服务器的IP -p 22

看看是否可以不同密码直接密匙登陆了。退出命令:exit

第二种scp命令 本地定时上传到备份服务器的指定目录

在本地VPS运行crontab -e命令添加定时任务

30 7 * * * scp -P 22 /home/www/zxsdw_$(date +'\%Y\%m\%d').tar.gz root@远程服务器的IP:/home/back/

(-P 22指备份服务器ssh开放的端口,可自行设置。本地www目录下的数据备份到远程服务器的back目录下)

30 7 * * * scp -P 22 -r /home/www/zxsdw root@远程服务器的IP:/home/back/

(把zxsdw这个文件夹备份到远程服务器的back目录下)

第三种scp命令 定时下载到服务器的指定目录

在远程vps上运行crontab -e命令添加定时任务

0 7 * * * scp -P 22 root@数据所在vps的IP:/home/www/zxsdw_$(date +'\%Y\%m\%d').tar.gz /home/back/
(源服务器www下的数据下载到备份服务器back目录下)

因为wget,ssh,scp命令都支持备份到远程服务器所以一条命令就可以执行完了哦。

相关文章

精彩推荐