在linux中自动备份之后我们可以通过wget,ssh,scp命令来进行数据备份到其它的服务器,下面小编就为各位整理了一篇网站定时自动备份wget、ssh、scp方法总结.
第一种wget直接下载:在远程服务器上运行crontab -e命令添加定时任务:
- 307***cd/home/backup/&&wgethttp://源服务器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
- chmod600/root/.ssh/authorized_keys --phpfensi.com
设置好后重启下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命令添加定时任务.
- 07***scp-P22root@数据所在vps的IP:/home/www/zxsdw_$(date+'\%Y\%m\%d').tar.gz/home/back/
源服务器www下的数据下载到备份服务器back目录下,因为wget,ssh,scp命令都支持备份到远程服务器所以一条命令就可以执行完了哦.