在Windows主机上定时备份远程VPS(CentOS)数据的批处理

下面是在Windows主机上定时备份远程VPS(CentOS)数据的完整攻略。

简介

本攻略介绍的方案适用于Windows主机需要定时备份远程VPS数据的情况,其中VPS操作系统为CentOS。

准备工作

在开始实施方案之前,需要完成以下准备工作:

  1. 确保远程VPS能够连接到互联网。
  2. 在远程VPS中安装rsync工具,在终端中输入以下命令安装:

    yum install -y rsync

  3. 在Windows主机中安装scoop包管理器,安装过程请参考scoop的官方文档

步骤

配置SSH连接

  1. 在Windows主机上生成SSH密钥,可以使用Git Bash运行以下命令:

    ssh-keygen

  2. 将生成的公钥文件id_rsa.pub添加到远程VPS的~/.ssh/authorized_keys文件中。

  3. 使用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 主机需要备份到的文件夹路径。

配置任务计划程序

通过任务计划程序实现定时备份功能,具体步骤如下:

  1. 在Windows主机上打开任务计划程序,可以使用快捷键Win+R打开“运行”对话框,输入taskschd.msc并回车。
  2. 在任务计划程序中创建一个新的任务,给任务命名并选择“适用于任何标志”。
  3. 配置任务触发器,选择“新建”并设置触发器,例如每天晚上11点执行备份脚本。
  4. 配置任务操作,选择“新建”并设置操作,选择运行批处理文件并设置路径为上一步创建的备份脚本的路径。
  5. 确定所有设置并保存任务。

示例说明

下面给出两个示例来帮助理解本攻略的具体实现过程。

示例1

假设远程VPS的用户名为user,公网IP地址为123.45.67.89,需要备份的文件夹路径为/home/user/data/,本地Windows主机需要备份到的文件夹路径为D:\backup\

  1. 按照上面的步骤生成SSH密钥并测试连接是否正常。
  2. 在Windows主机中创建如下内容的backup.bat文件并保存到C:\scripts\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" user@123.45.67.89:/home/user/data/ D:\backup\

    scoop uninstall openssh
    ```

  3. 在任务计划程序中创建一个新的任务,命名为“定时备份数据”。

  4. 在任务计划程序中选择“新建触发器”,设置为“每天晚上11点”。
  5. 在任务计划程序中选择“新建操作”,选择运行批处理文件,并设置路径为C:\scripts\backup.bat
  6. 确定所有设置并保存任务。

示例2

假设远程VPS的用户名为user,公网IP地址为123.45.67.89,需要备份的文件夹路径为/home/user/data/,本地Windows主机需要备份到的文件夹路径为D:\backup\

  1. 按照上面的步骤生成SSH密钥并测试连接是否正常。
  2. 在Windows主机中创建如下内容的backup.bat文件并保存到C:\scripts\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" user@123.45.67.89:/home/user/data/ D:\backup\

    scoop uninstall openssh
    ```

  3. 在任务计划程序中创建一个新的任务,命名为“每周五晚上定时备份数据”。

  4. 在任务计划程序中选择“新建触发器”,设置为“每周五晚上11点”。
  5. 在任务计划程序中选择“新建操作”,选择运行批处理文件,并设置路径为C:\scripts\backup.bat
  6. 确定所有设置并保存任务。

以上就是在Windows主机上定时备份远程VPS(CentOS)数据的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Windows主机上定时备份远程VPS(CentOS)数据的批处理 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Nginx+Tomcat关于Session的管理的实现

    Nginx与Tomcat联合使用时,确保会话管理的正确性是非常重要的。下面是实现Nginx与Tomcat之间的会话管理的攻略: 一、简介 Nginx是一款高性能的Web服务器,而Tomcat则是一款用于Java Web应用开发的服务器。通常情况下,这两款服务器会一起使用以实现完整的Web服务。在这个过程中,应用从Nginx到Tomcat的访问通道就显得尤为关…

    database 2023年5月22日
    00
  • MySql关于null的函数使用分享

    MySQL关于NULL的函数使用是MySQL数据库操作中必不可少的一部分。在数据库中,NULL表示未定义和未知的值,因此MySQL提供了许多函数以便于操作包含NULL值的数据。下面是MySQL关于NULL的函数使用的完整攻略和两条示例说明。 COALESCE函数 COALESCE函数返回参数列表中第一个非NULL值,如果所有参数都为NULL,则返回NULL。…

    database 2023年5月22日
    00
  • SpringBoot分布式文件存储数据库mongod

    我们来详细讲解“SpringBoot分布式文件存储数据库mongod”的完整攻略。 一、背景介绍 在分布式系统中,文件存储和数据库的选择是常见的问题。SpringBoot框架可以帮助我们快速搭建分布式系统,而mongod可以帮助我们存储大规模的数据和文件。本文将详细介绍SpringBoot和mongod的集成及使用。 二、准备工作 1.安装mongod数据库…

    database 2023年5月22日
    00
  • mysql设置远程访问数据库的多种方法

    下面是mysql设置远程访问数据库的多种方法的完整攻略: 方法一:修改mysql配置文件my.cnf 打开my.cnf文件,一般在/etc/mysql/my.cnf或/etc/my.cnf中。 找到bind-address选项,注释掉或者将值改为0.0.0.0,如下所示: #bind-address = 127.0.0.1 bind-address = 0.…

    database 2023年5月22日
    00
  • MySQL8设置自动创建时间和自动更新时间的实现方法

    下面是详细讲解 MySQL8 设置自动创建时间和自动更新时间的实现方法的攻略: 1. 添加创建时间和更新时间字段 首先,在需要添加自动时间戳的表中,添加两个字段:created_at 和 updated_at,分别记录记录创建时间和更新时间。可以使用以下 SQL 语句进行添加: ALTER TABLE table_name ADD created_at TI…

    database 2023年5月22日
    00
  • Mysql支持的数据类型(列类型总结)

    Mysql支持的数据类型(列类型总结) MySQL是一款关系型数据库管理系统,它支持多种数据类型,这篇文章主要总结MySQL支持的列类型及其特点。 整型(Integers) MySQL支持多种整型,包括: TINYINT 1字节 (-128 到 127) SMALLINT 2字节 (-32768 到 32767) MEDIUMINT 3字节 (-838860…

    database 2023年5月22日
    00
  • SQL 叠加两个行集

    SQL中叠加两个行集可以通过UNION和UNION ALL两种操作实现。以下是详细的攻略: UNION操作 UNION操作将两个SELECT语句返回的结果集合并成一个结果集,去除重复的部分,但不会保留重复记录的数量。 下面是一个实例,查询所有学生和教师的名字并合并成一个结果集: SELECT name FROM students UNION SELECT n…

    database 2023年3月27日
    00
  • Ubuntu下安装redis的2种方法分享

    Ubuntu是一种基于Debian的GNU/Linux操作系统,其下载量已经超过4000万。在Ubuntu下安装Redis可以提升系统的性能,本文将分享两种方法,让您能够安装Redis。 方法1:使用Ubuntu官方软件库安装Redis Ubuntu官方软件库存储了各种免费的软件。使用以下命令来在Ubuntu上安装Redis: sudo apt update…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部