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

yizhihongxing

下面是在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日

相关文章

  • 摘自linuxForum 经典帖子

    下面是关于“摘自linuxForum 经典帖子”的完整攻略。 1. 什么是“摘自linuxForum 经典帖子”? “摘自linuxForum 经典帖子”是一种引用论坛中经典帖子内容的方式,通常会在论坛外的博客、网站或群组中使用。这种引用方式能够有效地传递论坛中高质量的知识分享和交流,方便更多的人可以获得论坛中的精华内容。 2.如何进行“摘自linuxFor…

    database 2023年5月22日
    00
  • 详解MongoDB中的索引

    MongoDB是一种常见的NoSQL数据库,与传统的关系型数据库不同,它使用文档格式的数据存储。由于它的高效性和可扩展性,越来越多的企业和开发者在使用它。与其他数据库一样,MongoDB也提供了索引功能来提高查询性能。 本文将详细讲解MongoDB索引的完整攻略,包括什么是索引,为什么需要索引,MongoDB索引的类型,如何创建和使用索引等。过程中还将包含代…

    MongoDB 2023年3月14日
    00
  • Mysql学习之创建和操作数据库及表DDL大全小白篇

    Mysql学习之创建和操作数据库及表DDL大全小白篇 本文将详细讲解如何在Mysql中创建数据库和表以及DDL的常见操作。让读者能够轻松了解Mysql数据库的基本用法。 创建数据库 在Mysql中,要创建一个新的数据库,首先需要登录Mysql服务器,然后使用CREATE DATABASE命令。 CREATE DATABASE my_database; 上述代…

    database 2023年5月21日
    00
  • Oracle 闪回技术详细介绍及总结

    Oracle 闪回技术详细介绍及总结 什么是Oracle 闪回技术 Oracle 闪回技术是Oracle数据库提供的一项用于快速恢复数据库的技术。闪回技术能够帮助数据库管理员快速回滚数据库到某个时间点,并撤销单个表或整个数据库的操作,而不需要恢复整个数据库。此外,闪回技术还能够查找和恢复被误删除或更新数据的情况。 闪回技术的优点 相比于传统的恢复方法,闪回技…

    database 2023年5月21日
    00
  • linux查看redis安装路径

    ## linux查看redis安装路径 redis-cli -h 127.0.0.1 -p 6379redis-cli monitor > redis2.log /usr/local/redis-3.2.5/src/redis-server /usr/local/redis-3.2.5/redis.conf [root@my-test-01 ~]$fr…

    Redis 2023年4月12日
    00
  • linux 下配置LAMP环境

    安装 LAMP 环境是 Linux 下常见的操作之一,它可以让我们在本地搭建 Web 服务器环境,便于我们进行开发、测试和研究。下面是在 Ubuntu 20.04 系统下,通过终端配置 LAMP 环境的步骤: 安装 Apache 服务器 首先,我们需要安装 Apache Web 服务器。在终端中输入以下指令: sudo apt update sudo apt…

    database 2023年5月22日
    00
  • MongoDB MapReduce(数据处理)方法详解

    MongoDB MapReduce是一种数据处理技术,它允许您使用JavaScript编写MapReduce函数来对MongoDB集合中的数据进行聚合和分组。 下面是MongoDB MapReduce的完整使用放啊,包括过程和代码示例: 准备数据 首先,我们需要一些数据来演示MongoDB MapReduce。我们将使用以下JSON格式数据: { &quot…

    MongoDB 2023年3月14日
    00
  • c#之Redis队列

    摘要 这两天一直在考虑redis队列:一个生产者,多个消费者的情况,这里弄了一个demo进行测试。 一个例子 关于如何引用Redisclient 可以参考之前的这篇文章:c#之Redis实践list,hashtable 生产者一个线程,然后开启多个线程用来消费数据。 代码如下: using System; using System.Collections.G…

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部