企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

使用 scp 命令定时拉取服务器备份文件

wudianyun 2025-03-20 20:13:55 精选文章 32 ℃

我们的服务器,每周五必须要做下备份,但总是忘记执行备份这件事情,或者是服务器备份做了,但没有做异地备份。所以通过定时任务自动备份,备份成功之后,在其它服务器上面通过定时任务 scp 命令自动拉取备份文件,达到全部自动备份目的,只需要当日查看备份文件是否成功。

设置无需密码的ssh登陆

假设A、B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:

1)在A机上生成钥匙对,执行以下命令:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):直接回车
Enter same passphrase again:直接回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1

在/root/.ssh/路径下会生成id_rsa和id_rsa.pub,其中id_rsa是密钥,id_rsa.pub是公钥。

2)把在A机生成的id_rsa.pub拷贝到B机上:

ssh-copy-id -i ./id_rsa.pub root@ip

ssh ip 就会免密码自动登录主机

[root@LimeLinux ~]# ssh ip地址

Last login: Sun Jan 3 20:17:44 2021 from ip

#echo " Authorized users only. All activity may be monitored and reported " > /etc/motd

[root@LimeLinux ~]#

服务器设置定时备份文件

[root@LimeLinux ~]# crontab -l
3 3 * * 5 /var/opt/ams/users/amssys/bin/ams_backup.sh -f /export/amsbackup/amsbackup$(date +"\%Y\%m\%d").tar
3 2 * * 5 /bin/rm -f /export/amsbackup/amsbackup*
[root@LimeLinux ~]#

生成的文件将按时间格式命名:amsbackup20210101.tar

每周五凌晨2:03 定时删除之前的备份

每周五凌晨3:03 定时自动生成备份

scp 定时拉取服务器备份

[root@LimeLinux ~]# crontab -l
10 3 * * 5 /bin/rm -rf /amsbackup/amsbackup*
10 4 * * 5 /usr/bin/scp root@ip:/export/amsbackup/amsbackup* /amsbackup/
[root@LimeLinux ~]#

每周五凌晨3:10 定时删除之前的备份

每周五凌晨4:10 定时拉取服务器备份文件

注意:备份服务器的密码一定要保密,再保密,密码泄漏很危险!!!

Tags:

最近发表
标签列表