备份

本地文件夹备份到本地目录(Window/Linux)

Windows备份文件夹

脚本下载:


Linux备份文件夹

脚本下载:

本地&远程 数据库(MySQL)备份到本地目录(Window/Linux)

本地环境需要安装MySQL

Windows备份数据库

脚本下载:


Linux备份数据库

脚本下载:


同步

远程文件夹同步到本地目录(Window/Linux)

FTP服务器

同步的源服务器已经配置好FTP服务器软件,可以跳过此步骤

服务配置FTP服务器软件,请参考下述文章


Windows同步文件夹

方式一:工具

使用 FTP 客户端软件,如 FileZilla、Xftp 等。这些软件工具支持随时或定时同步到本地

方式二:脚本
确保系统中已经安装了WinSCP,并配置好环境变量

安装WinSCP:下载并安装winscp
确保其可执行文件路径(通常为C:\Program Files (x86)\WinSCP\WinSCP.com)在系统PATH环境变量中,以便在命令行任意位置调用

脚本下载:


Linux同步文件夹

确保系统中已经安装了lftp(一个强大的文件传输程序)如果没有安装,可以通过以下命令安装

在Ubuntu/Debian系统中安装:

sudo apt-get install lftp

在CentOS/RHEL系统中安装:

sudo yum install lftp

脚本下载:

远程数据库(MySQL)同步到本地数据库

MySQL原生

MySQL支持主从复制(Master-Slave replication),我们可以设置一个远程数据库作为主服务器(Master),本地数据库作为从服务器(Slave)。主服务器上的数据更改会自动复制到从服务器上。配置时需要在主服务器上开启二进制日志(binary logging),并在从服务器上设置主服务器的信息以开始复制过程

  1. 配置主服务器(远程数据库):

启用二进制日志(binary log):在MySQL配置文件(如my.cnf)中设置server-id=1并确保log_bin选项被启用。
重启MySQL服务使配置生效
授予复制权限给用于复制的用户,例如:GRANT REPLICATION SLAVE ON . TO 'repl_user'@'%' IDENTIFIED BY 'your_password';

  1. 获取主服务器状态:

在主服务器上执行SHOW MASTER STATUS;记录下File和Position值

  1. 配置从服务器(本地数据库):

在MySQL配置文件中设置server-id=2(确保与主服务器不同),然后重启MySQL服务
执行如下命令启动复制:

CHANGE MASTER TO
    MASTER_HOST='远程数据库IP',
    MASTER_USER='repl_user',
    MASTER_PASSWORD='your_password',
    MASTER_LOG_FILE='之前记录的File名',
    MASTER_LOG_POS=之前记录的Position;

执行START SLAVE;命令开始复制过程。

注意:
确保两台服务器之间网络畅通,并且防火墙规则允许相应的连接
主从复制基于GTID或基于binlog位置,具体命令可能根据MySQL版本有所不同
可以通过SHOW SLAVE STATUS\G;检查从服务器复制状态


Navicat同步

  1. 连接远程和本地数据库:

打开Navicat,分别建立到远程数据库和本地(另外的远程)数据库的连接

  1. 数据传输

配置数据传输内容(表/函数/视图/......)

Navicat数据传输.png

Navicat数据传输配置.png

  1. 定时任务(可选)

根据情况是否需要定时执行(计划任务)

Navicat定时任务.png


定时任务(执行脚本)

Windows

  • 我的电脑》》》控制面板》》》计划任务
  • 任务计划程序库》》》创建基本任务
  • 填写任务信息》》》执行间隔》》》执行脚本》》》是否登录运行

Windows 定时任务.png

Linux

在Linux系统中,创建定时任务主要通过cron服务来实现

  • 编辑Crontab文件
crontab -e

这个命令会打开当前用户的cron文件进行编辑。如果你是第一次使用,可能会让你选择编辑器(如nano或vi)

  • 示例(每天凌晨2点执行一个名为my_script.sh的脚本)
 0 2 * * * /path/to/your/script/my_script.sh
  • 保存并退出

编辑完成后,根据选择的编辑器(如使用vi,则是:wq保存并退出),保存更改并退出编辑器

  • 查看当前所有定时任务
 crontab -l

注意事项
确保脚本有执行权限(chmod +x my_script.sh)。
脚本路径应该是绝对路径,以避免因环境变量不同导致的执行失败

Last modification:June 3, 2024
如果觉得我的文章对你有用,您可以给博主买一杯果汁,谢谢!