rsync同步操作 、 inotify实时同步 、 数据库服务基础 、 管理表数据

rsync同步操作

rsync 远程同步

 

支持本地复制,或与其它SSH、rsync主机同步
官方网站 http://rsync.samba.org

命令格式

 

rsync [选项] 源目录  目标目录

同步与复制的差异
复制:完全拷贝源到目标
同步:增量拷贝,只传输变化过的数据

- 选项
-n 测试同步数据过程,不做实际修改
--delete 删除目标文件夹内多余的文档
-a 归档模式  相当于 -rlptgoD
-v 显示详细操作信息
-z 传输过程中启用压缩 解压

虚拟机A 本地同步

 

mkdir /mydir
mkdir /todir
cp /etc/passwd /etc/shadow /etc/hosts /etc/fstab /mydir/
rsync -av /mydir/ /todir/

touch /mydir/1.txt
rsync -av /mydir/ /todir/

touch /todir/1.txt
rsync -av --delete /mydir/ /todir/

远程同步 rsync +SSH同步

 

虚拟机A的/mydir 到虚拟机B /opt的同步

上行(上传):
rsync -av --delete /mydir/ root@192.168.4.207:/opt/

下行(下载):

rsync -av root@192.168.4.207:/opt/ /mydir/

inotify实时同步

实时同步

 

1、ssh实现无密码的验证
ssh-keygen
ssh-copy-id

2、监控目录内容变化的程序
tools.tar.gz (lrzsz 传文件)
安装inotify-tools工具,产生程序 inotifywait 

安装源码包
yum install gcc make
mkdir /var/other

inotifywait [选项] 目录文件夹

 

常用命令选项
-m 持续监控 (捕捉一个事件后不退出)
-r 递归监控 包括子目录文件
-q 减少屏幕输出信息
-e 指定监视的 modify、move、create、delete、attrib 等事件类别

rsync -av --delete /mydir/ root@192.168.4.207:/opt/

写个同步脚本

 

while 条件
do
重复执行的事件
done

while 后面 可以跟命令 运行成功就是true,运行失败就是false

vim /etc/rsync.sh (文件默认没有执行权限)
    
    while inotifywait -rq /mydir
    do
       rsync -av --delete /mydir/ root@192.168.4.207:/opt/
    done
    
    无屏幕输出
    while inotifywait -rqq /mydir
    do
       rsync -a --delete /mydir/ root@192.168.4.207:/opt/
    done
chmod u+x /etc/rsync.sh

数据库服务基础

 

数据库:存放数据的仓库

常见的数据库软件

 

关系型数据库:
微软的 SQL server
IBM的  DB2
甲骨文的 Oracle MySQL
社区开源版 MariaDB

1、安装mariaDB

 

yum -y install mariadb-server

systemctl restart mariadb

进入数据库系统中:

mysql

为数据库系统管理员(root)设置密码

 

用户信息  存放在 mysql的user表

mysqladmin -uroot password '123'

------

rm -rf /var/lib/mysql
yum -y reinstall mariadb

增(insert)删(delete)改(update)查(select)

 

表记录、表字段

desc 表名; 查看表记录;

删除数据库中密码为空的记录

 

select user,host,password from user where password='';
delete  from user where password='';

flush privileges; #专门用域刷新user表记录

grant 权限(select、insert、delete、update、all) on 数据库名.表名 to 用户名@登录地址 identified by '密码';

评论