下面是在Windows主机上定时备份远程VPS(CentOS)数据的完整攻略。
简介
本攻略介绍的方案适用于Windows主机需要定时备份远程VPS数据的情况,其中VPS操作系统为CentOS。
准备工作
在开始实施方案之前,需要完成以下准备工作:
- 确保远程VPS能够连接到互联网。
-
在远程VPS中安装rsync工具,在终端中输入以下命令安装:
yum install -y rsync
-
在Windows主机中安装scoop包管理器,安装过程请参考scoop的官方文档。
步骤
配置SSH连接
-
在Windows主机上生成SSH密钥,可以使用Git Bash运行以下命令:
ssh-keygen
-
将生成的公钥文件
id_rsa.pub
添加到远程VPS的~/.ssh/authorized_keys
文件中。 -
使用Git Bash测试SSH连接是否正常:
ssh [username]@[ip-address]
其中
[username]
为远程VPS的用户名,[ip-address]
为远程VPS的公网IP地址。
配置定时备份脚本
在Windows主机上创建一个批处理脚本(例如backup.bat
),脚本内容如下:
@echo off
scoop install openssh
set RSYNC_RSH=ssh
set SSH_AUTH_SOCK=C:\Windows\Temp\ssh-agent.sock
rsync -avz -e "ssh -i C:\Users\[username]\.ssh\id_rsa" [username]@[ip-address]:/path/to/backup/folder/ C:\backup\
scoop uninstall openssh # 可选:卸载openssh软件包
其中[username]
为远程VPS的用户名,[ip-address]
为远程VPS的公网IP地址,/path/to/backup/folder/
为远程VPS中需要备份的文件夹路径,C:\backup\
为本地 Windows 主机需要备份到的文件夹路径。
配置任务计划程序
通过任务计划程序实现定时备份功能,具体步骤如下:
- 在Windows主机上打开任务计划程序,可以使用快捷键
Win+R
打开“运行”对话框,输入taskschd.msc
并回车。 - 在任务计划程序中创建一个新的任务,给任务命名并选择“适用于任何标志”。
- 配置任务触发器,选择“新建”并设置触发器,例如每天晚上11点执行备份脚本。
- 配置任务操作,选择“新建”并设置操作,选择运行批处理文件并设置路径为上一步创建的备份脚本的路径。
- 确定所有设置并保存任务。
示例说明
下面给出两个示例来帮助理解本攻略的具体实现过程。
示例1
假设远程VPS的用户名为user
,公网IP地址为123.45.67.89
,需要备份的文件夹路径为/home/user/data/
,本地Windows主机需要备份到的文件夹路径为D:\backup\
。
- 按照上面的步骤生成SSH密钥并测试连接是否正常。
-
在Windows主机中创建如下内容的
backup.bat
文件并保存到C:\scripts\backup.bat
:```
@echo offscoop install openssh
set RSYNC_RSH=ssh
set SSH_AUTH_SOCK=C:\Windows\Temp\ssh-agent.sockrsync -avz -e "ssh -i C:\Users[username].ssh\id_rsa" user@123.45.67.89:/home/user/data/ D:\backup\
scoop uninstall openssh
``` -
在任务计划程序中创建一个新的任务,命名为“定时备份数据”。
- 在任务计划程序中选择“新建触发器”,设置为“每天晚上11点”。
- 在任务计划程序中选择“新建操作”,选择运行批处理文件,并设置路径为
C:\scripts\backup.bat
。 - 确定所有设置并保存任务。
示例2
假设远程VPS的用户名为user
,公网IP地址为123.45.67.89
,需要备份的文件夹路径为/home/user/data/
,本地Windows主机需要备份到的文件夹路径为D:\backup\
。
- 按照上面的步骤生成SSH密钥并测试连接是否正常。
-
在Windows主机中创建如下内容的
backup.bat
文件并保存到C:\scripts\backup.bat
:```
@echo offscoop install openssh
set RSYNC_RSH=ssh
set SSH_AUTH_SOCK=C:\Windows\Temp\ssh-agent.sockrsync -avz -e "ssh -i C:\Users[username].ssh\id_rsa" user@123.45.67.89:/home/user/data/ D:\backup\
scoop uninstall openssh
``` -
在任务计划程序中创建一个新的任务,命名为“每周五晚上定时备份数据”。
- 在任务计划程序中选择“新建触发器”,设置为“每周五晚上11点”。
- 在任务计划程序中选择“新建操作”,选择运行批处理文件,并设置路径为
C:\scripts\backup.bat
。 - 确定所有设置并保存任务。
以上就是在Windows主机上定时备份远程VPS(CentOS)数据的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Windows主机上定时备份远程VPS(CentOS)数据的批处理 - Python技术站