第一种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命令都支持备份到远程服务器所以一条命令就可以执行完了哦。