Use rsync backup tool

rsync is a tool for fast incremental backups of remote support local, ssh, rsync host synchronization.
rsync is one of the basic components of Linux / Unix systems installed by default, so we do not need to install it manually.

[root@mysql /]# rpm -q rsync
rsync-3.0.9-17.el7.x86_64

Use rsync backup tool
rsync program without a configuration file, so we need to write our own:

[root@mysql /]# vim /etc/rsyncd.conf 
....... 省略部分内容
uid = nobody                 
gid = nobody
use chroot = yes                           // 禁锢在源目录
address = 192.168.1.10               // 监听地址,可省略掉
port 873                                        // 监听端口
log file = /var/log/rsyncd.log          // 指定日志文件位置
pid file = /var/run/rsyncd.pid         // 存放进程 ID 的文件位置
[mysql]                                         // 共享模块名称
        path = /usr/local/mysql/data      // 源目录的路径
        comment = aaaa                     // 描述,可省略掉
        read only = no                         // 是否为只读,no为读取写入都可以
        dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2        // 同步时不再压缩的文件类型
        auth users = zs                        // 授权账户
        secrets file = /etc/rsyncd_users.db             // 存放账户信息的数据文件

rsync has their own account file, it is only necessary to write the account information in the account file:

[root@mysql /]# vim /etc/rsyncd_users.db 
zs:123.com                   // :前为用户名,后为密码
[root@mysql /]# chmod 600 /etc/rsyncd_users.db       # 账号采用的是明文存放,因此调整文件权限是有必要的 

The user needs to backup source directory / usr / local / mysql / data corresponding read access:

[root@mysql /]# chmod -R 755 /usr/local/mysql/data/
[root@mysql /]# ll -d /usr/local/mysql/data/
drwxr-xr-x 5 mysql mysql 160 Aug 21 15:15 /usr/local/mysql/data/

Start the rsync service program, the operating parameters for the "--daemon"

[root@mysql /]# rsync --daemon                     # 启动
若要关闭 rsync 服务,可以采用 kill 进程的方式:
[root@mysql /]# kill $(cat /var/run/rsyncd.pid)    # 停止

Local use of:

[root@localhost /]# rsync /etc/passwd /opt/               # 在本地中的这命令,个人感觉没毛用,还不如直接 cp 复制
[root@localhost /]# rsync -rl /etc/passwd /opt/                   # -r 表示递归整个目录树   -l 用来备份链接文件

Download (downstream):

[root@localhost backup]# rsync -avz   [email protected]::mysql   /backup/
Password:                // 输入密码
或
[root@localhost /]# rsync -avz rsync://[email protected]/mysql /backup/
Password: 

Upload (uplink):

[root@localhost /]# rsync -avz  /backup/  [email protected]::mysql
Password:                                  // 如果backup后的/ 没有,则表示将这个目录上传,如果有则表示上传这个目录中的文件

Some commonly used rsync backup options:
Use rsync backup tool
Use rsync backup tool
Backup to work in actual production environments is often repeated execution as planned, so you need a Task Scheduler:

[root@localhost /]# vim /etc/server.pass              # 为了在同步过程中不用输入密码,所以创建一个密码文件
123.com
[root@localhost /]# chmod 600 /etc/server.pass                 # 配置权限
[root@localhost /]# crontab -e 
30      22      *       *       *       /usr/bin/rsync -avz --delete --password-file=/e
tc/server.pass [email protected]::mysql /backup
[root@localhost /]# systemctl status crond.service                 # 确保服务已经启动
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2019-08-22 00:37:47 CST; 13min ago
 Main PID: 1005 (crond)
   CGroup: /system.slice/crond.service
           └─1005 /usr/sbin/crond -n

Guess you like

Origin blog.51cto.com/14227204/2431539