linux服务器目录定时备份
linux服务器目录定时备份
需备份服务器:124.70.194.152 同步服务器: 150.158.169.154
安装rsync
两台服务器均需安装并且开启873端口
#安装 yum -y install rsync #服务启动 systemctl start rsyncd
配置文件介绍说明(/etc/rsyncd.conf)
#配置文件 uid = root #运行进程的身份 gid = root #运行进程的组 address =150.158.169.154 #监听 IP port =873 #监听端口 hosts allow =* #用*表示所 有 use chroot = yes #是否囚牢,锁定家目录,rsync 被黑之后,黑客无法再 rsync 运行的家目录之外创建文件,选项设置为 yes max connections =5 #最大连接数 pid file =/var/run/rsyncd.pid #进程 PID,自动生成 lock file =/var/run/rsync.lock #指 max connectios 参数的锁文件 log file =/var/log/rsyncd.log #日志文件位置 motd file =/etc/rsyncd.motd #客户端登陆之后弹出的消息,需要创建 [demo01] #共享模块名称 path =/web-back/ #路径 comment = used for web-data root #描述 read only = false #只读权限为假 list = yes #是否允许查看模块信息 auth users = rsyncuser #备份的用户,和系统用户无关 secrets file =/etc/rsync.passwd #存放用户的密码文件,格式是 用户名:密码
需备份服务器端
- 编辑配置文件/etc/exports vim /etc/exports /opt/shell 150.158.169.154(rw,async,no_root_squash)
- 编辑配置文件/etc/rsyncd.conf vim /etc/rsyncd.conf 内容:
#密码文件位置 secrets file = /etc/rsyncd.secrets #rsync共享模块名称 [rsync_test] #待同步目录路径 path = /opt/shell/ #授权用户 本地用户 auth users = root
- 编辑配置文件/etc/rsyncd.secrets vim /etc/rsyncd.secrets 内容: #格式: 授权用户名:密码 root:passowrd
- 修改密码配置文件权限(权限必须是600) chmod 600 /etc/rsyncd.secrets
同步服务器端
- 编辑配置文件 vim /etc/rsyncd.secrets 内容: password
- 修改密码配置文件权限(权限必须是600) chmod 600 /etc/rsyncd.secrets
- 编辑执行脚本 vim rsync-backup.sh 内容:
#!/bin/bash #Author:Huang #Time:2022-12-29 11:52:01 #Name:rsync-backup.sh #Description: #LOG_PATH变量为日志文件绝对路径 #root@124.70.194.152需配置需备份服务器端rsync配置文件中的授权用户和需备份服务器端的ip #rsync_test为需备份服务器端配置的共享模块名称 #/opt/bak_shell_data为同步服务器端需同步到的绝对路径 #/etc/rsyncd.secrets为同步服务器端密码文件存放的绝对路径 LOG_PATH=/opt/rsync-log/rsync_$(date +%Y-%m-%d).log if [ ! -d `dirname $LOG_PATH` ];then mkdir -p `dirname $LOG_PATH` fi echo -e " $(date +%F %H:%M:%S)" >> $LOG_PATH rsync --delete -arzvtopgu root@124.70.194.152::rsync_test /opt/bak_shell_data --password-file=/etc/rsyncd.secrets >> $LOG_PATH 2>&1
保存后给脚本添加执行权限 chmod +x rsync-backup.sh
- 配置定时任务 crontab -e
-
新增配置(每天早上6点执行一次) 0 6 * * * /opt/shell/rsync-backup.sh 其中/opt/shell/rsync-backup.sh为上述脚本绝对路径 0 6 * * * 为cron表达式可根据实际情况进行调整
下一篇:
自己搭建网站选用服务器的方法