rsync+crontab实现定时备份
简介
Rsync(remote sync)是UNIX 及类UNIX 平台下一款神奇的数据镜像备份软件,它不像FTP 或其他文件传输服务那样需要进行全备份,Rsync 可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率。你可以使用它进行本地数据或远程数据的复制,Rsync 可以使用SSH 安全隧道进行加密数据传输。Rsync 服务器端定义源数据,Rsync 客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,如果源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync 使用TCP 873端口。
实验
准备两台虚拟机测试:
192.168.40.111备份源
192.168.40.112 备份端
关掉防火墙 setenforce
systemctl stop firewalld
setenforce 0
备份源操作
安装rsync
yum -y install rsync
修改配置文件
vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.40.0/24 #指定的网段
[lx]
path = /opt/aaa
comment = Document Root of www.51xit.top
read only =no
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z
auth users =tom
secrets file = /etc/rsyncd_users.db[root@localhost ~]# mkdir /opt/aaa
设置账户 密码
[root@localhost ~]# vim /etc/rsyncd_users.db
tom:123加权限
[root@localhost ~]# chmod 600 /etc/rsyncd_users.db
启动rsync 查看端口
root@localhost ~]# rsync --daemon
[root@localhost ~]# netstat -nlput |grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 13360/rsync
tcp6 0 0 :::873 :::* LISTEN 13360/rsync
备份端操作:
安装rsync
[root@localhost ~]# yum -y install rsync
备份端只需设置用户密码
[root@localhost ~]# vim /etc/server.pass
123
[root@localhost ~]# mkdir /opt/aaa/
加权限
[root@localhost ~]# chmod 600 /etc/server.pass
设置定时任务 每分钟执行一次
[root@localhost ~]# crontab -e
* * * * * rsync -az --password-file=/etc/server.pass tom@192.168.40.111::lx /opt/aaa #放到/opt/aaa指定的目录下
[root@localhost ~]# crontab -l
* * * * * rsync -az --password-file=/etc/server.pass tom@192.168.40.111::lx /opt/aaa
#[root@localhost ~]# crontab -e
#crontab: installing new crontab 意思是等待三分钟在开始执行
测试
在备份源的创建个测试:
[root@localhost aaa]# cd /opt/aaa/
[root@localhost aaa]# touch 22222222
在备份端等3分钟查看 是否同步:
[root@localhost ~]# ls
22222222
添加mysql日志自动备份
备份源操作:
#进入数据库
mysql
#创建一个名为crm2的库
create database crm2;
#查询是否创建成功
show create database crm2;
切换到crm2库下
mysql> use crm2;
创建两张表,student表和class表
mysql> create table tb1(id int primary key,name char(8) not null,age int,class_id int not null);
Query OK, 0 rows affected (0.63 sec)
mysql> create table class(id int primary key,cname char(20) not null);
Query OK, 0 rows affected (0.34 sec)
给两张表插入一些数据
mysql> insert into class values(1,'一班'),(2,'二班');mysql> insert into student values(1,'Jaden',18,1),(2,'哪拿',45,1),(3,'彦涛',30,2);
创建自动部署脚本并授权:
vim ls.shmysqldump -u root -p mysql > /opt/aaa/dbname.sql
chmod 777 ls.sh
创建crontab自动执行脚本
crontab -e* * 1 * * /root/ls.sh #按需求操作多长时间执行一次脚本
测试一下:
sh ls.sh
在备份源查看是否备份完毕
[root@localhost]cd /opt/aaa
[root@localhost aaa]# ls
22222222 dbname.sql
在备份端查看
[root@localhost aaa]# ls
22222222 dbname.sql
可以打开dbname.sql看一下:
[root@localhost aaa]# vim dbname.sql -- MySQL dump 10.14 Distrib 5.5.68-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: mysql
-- ------------------------------------------------------
-- Server version 5.5.68-MariaDB/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Table structure for table `class`
--DROP TABLE IF EXISTS `class`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `class` (`id` int(11) NOT NULL,`cname` char(20) NOT NULL,PRIMARY KEY (`id`) 。。。。。。。。。。(太多了直接省略了)
创建完毕搭建完成
Rsync 参数:
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
回复【干货】获取精选干货视频教程
回复【加群】加入疑难问题攻坚交流群
回复【mat】获取内存溢出问题分析详细文档教程
回复【赚钱】获取用java写一个能赚钱的微信机器人
回复【副业】获取程序员副业攻略一份
喜欢就点个在看再走吧
rsync+crontab实现定时备份相关推荐
- CentOS(rsync+crond实现定时备份)
一,rsync介绍 rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能类 ...
- 使用crontab定时备份mysql
为什么80%的码农都做不了架构师?>>> 写一个 shell 脚本,结合 crontab,定时备份数据库.其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命 ...
- 银河麒麟V10配置rsync实现服务器同步备份
前言 rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.今天我们在银河麒麟桌面v10和银河麒麟服务器V10间利用rsync实现桌面文件定时备份到服 ...
- 利用rsync+crontab实现linux的定时增量备份,利用rsync+crontab实牡现Linux服务器间的定时增量备份.doc...
利用rsynccrontab实牡现Linux服务器间的定时增量备份 利用rsync+crontab实现Linux服务器间的定时增量备份 rsync是Linux.UNIX系统下的数据镜像备份工具,它的特 ...
- 服务器数据的实时备份与定时备份(rsync+inotify)
文章目录 安装调试inotify(主服务器) 调试rsync 编写实时同步脚本(主服务器) 编写定时备份脚本(备份端) 需求:对服务器数据进行实时备份,不能丢失任何已生成数据 思路:需要新增一台备份服 ...
- 利用Crontab为Linux定时备份Mysql数据库
利用系统Crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1.创建保存备份文件的路径/ ...
- oracle cronb,利用Crontab实现对Oracle数据库的定时备份
假设数据库的拥有者为oracle,数据库的用户为scott,其口令为trigger, Oracle数据库的参数$ORACLE_HOME为/usr/oracle,$ORACLE_SID为oracle1, ...
- [转帖]tar高级教程:增量备份、定时备份、网络备份
tar高级教程:增量备份.定时备份.网络备份 作者: lesca 分类: Tutorials, Ubuntu 发布时间: 2012-03-01 11:42 ė浏览 27,065 次 61条评论 一.概 ...
- linux定时备份mysql数据并同步到其他服务器
(备份还原操作) ###导出数据库 /usr/bin/mysqldump -u root -pwd database > database20180808.sql ###导入数据库 mysql ...
- linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份
一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...
最新文章
- 数据挖掘深入理解和学习路径
- 解决Fiddler无法抓到手机的会话包
- Calendar类 set方法 get方法 add方法
- sklearn 机器学习 Pipeline 模板
- youcans 的 OpenCV 学习课—4.图像的叠加与混合
- 无监督学习才不是“不要你管”
- jfreechart柱状图java mysql_时序时空数据库MySQL再升级,兼容MySQL协议
- SpringBoot结合Redis实现维护客户端登录状态
- 短距离的无线连接技术--蓝牙
- buct oj 最大公共子序列问题
- 属于python保留字的是_属牛的女人全集:属牛女的性格、命运、属相婚配表等-第一星座网...
- 小白终是踏上了这条不归路----小文的mysql学习笔记(22)--------函数
- openwrt中br-lan,eth0,eth0.1,eth0.2 已经 实际网口wan,lan对应的配置
- OSChina 周四乱弹 —— 只有食物才能收买我的灵魂
- 单点登录服务Authelia(下篇)
- 计算机辅助管理档案说明,标准化档案管理软件计算机辅助管理操作规范计算机辅助管理操作规范...
- RIPNG (RIP下一代)
- java集合操作-----求两个集合的交集和并集
- 什么是 ClickHouse(实时数据分析数据库)
- GPT-4 太强了!一夜醒来,Excel 到 PPT 动嘴就能做!
热门文章
- 嵌入式软件测试环境搭建,基于DOORS的嵌入式软件测试环境需求管理
- windows10专业版安装应用商店方法
- mysql求和语句大全_经典SQL语句大全(1)
- 以前手机应用java咖啡_作为编程语言的“java”怎么就成了咖啡的代称?
- 联合舰队的覆灭(7)
- 国产首发:上海川土微电子数字接口电源数字隔离芯片模拟芯片领导者
- Supported media formats (支持的媒体格式)
- java穷举密码_Java实现穷举密码登录FTP服务器
- 交管学法减分考试题库以及答案(200题+,排序随机答题看清)
- 象棋的杀法??????