1/21(源码编译安装、rsync同步、inotify实时同步、数据库)

将真机的tools.tar.gz 传递到虚拟机A的/root目录下

一、源码编译安装
RPM软件包:rpm -ivh 或者 yum -y install

1.进行解压缩:
tar -xf /root/tools.tar.gz -C /
ls /tools
inotify-tools-3.13.tar.gz other

2.进行tar解包
tar -xf /tools/inotify-tools-3.13.tar.gz -C /usr/local/
ls /usr/local/
cd /usr/local/inotify-tools-3.13/
ls

3.安装开发工具
yum -y install gcc make
rpm -q gcc
rpm -q make

4.运行configure脚本
cd /usr/local/inotify-tools-3.13
./configure --help #查看帮助信息
./configure --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
ls Makefile #生成制作的的二进制程序的Makefile文件

常见的报错信息:gcc开发工具没有安装
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.

5.进行make编译,变成可以执行的程序(放在内存中)
cd /usr/local/inotify-tools-3.13
make

6.进行make install 安装
cd /usr/local/inotify-tools-3.13
make install
ls /opt
ls /opt/myrpm
ls /opt/myrpm/bin
inotifywait inotifywatch

总结:
步骤1:安装开发工具gcc与make
步骤2:tar解包,释放源代码至指定目录
步骤3:./configure 配置,指定安装目录/功能模块等选项
步骤4:make 编译,生成可执行的二进制程序文件
步骤5:make install 安装,将编译好的文件复制到安装目录

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

1.本地同步:
mkdir /mydir /todir
cp /etc/passwd /mydir
touch /mydir/1.txt
ls /mydir

rsync -av /mydir /todir #同步目录本身
ls /todir

rsync -av /mydir/ /todir #同步目录内容
ls /todir

touch /mydir/2.txt
rsync -av /mydir/ /todir #同步目录内容
ls /todir
echo 123 > /mydir/1.txt
rsync -av /mydir/ /todir #同步目录内容
ls /todir
cat /todir/1.txt

rsync -av --delete /mydir/ /todir/ #删除目录多余的文件
ls /mydir/
ls /todir/
touch /todir/aa.txt
ls /todir/
rsync -av --delete /mydir/ /todir/ #删除目录多余的文件
ls /todir/
ls /mydir/

2.远程同步
下行:rsync […] user@host:远程目录 本地目录
上行:rsync […] 本地目录 user@host:远程目录

虚拟机A的/mydir目录的内容与虚拟机B的/opt进行同步
虚拟机A:
rsync -av --delete /mydir/ root@192.168.4.207:/opt
………connecting (yes/no)? yes
root@192.168.4.207’s password: #输入密码
虚拟机B:
ls /opt/

三、实时数据同步
1.实现ssh无密码验证(公钥 与 私钥)

虚拟机A
1.生成公钥与私钥
ssh-keygen #一路回车
ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
2.将虚拟机A将公钥传递给虚拟机B
ssh-copy-id root@192.168.4.207
rsync -av --delete /mydir/ root@192.168.4.207:/opt

make install进行安装
inotifywait [选项] 目标文件夹
常用命令选项:
-m:持续监控(捕获一个事件后不退出)
-r:递归监控、包括子目录及文件
-q:减少屏幕输出信息
-e:指定监视的 modify、move、create、delete、attrib 等事件类别

例如:ls /opt/myrpm/bin/inotifywait -rq /mydir/

书写shell脚本
脚本:可以运行一个文件,实现某种功能
中文:新建用户shangsan shell:useradd zhangsan

vim /root/hello.sh #.sh为shell脚本
echo hello world
hostname
ifconfig | head -2
echo I Love Linux
chmod +x /root/hello.sh
/root/hello.sh

重复性事情:循环解决
while 条件
do
重复执行的事情
done

vim /etc/rsync.sh
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -a --delete /mydir/ root@192.168.4.207:/opt
done

chmod +x /etc/rsync.sh #赋予执行权限
/etc/rsync.sh & #运行脚本程序
jobs -l #显示后台执行的进程,并且显示PID
[1]+ 17707 运行中 /etc/rsync.sh &
kill 17707 #按照PID杀死脚本

数据库
部署MariaDB 数据库系统
[root@svr7 /]# yum -y install mariadb-server
[root@svr7 /]# systemctl restart mariadb

MariaDB基本使用
1.Linux系统的管理指令不能使用
2.所有的数据库系统指令都必须以 ; 结尾
3.据库系统的指令大部分不支持tab补全
[root@svr7 /]# mysql #进入数据库系统
show databases; #查看所有数据库
create database nsd01; #创建nsd01数据库
show databases; #查看所有数据库
drop database nsd01; #删除数据库nsd01
show databases; #查看所有数据库
exit; #退出数据库系统

mysql #进入数据库系统
use mysql; #切换到mysql数据库
show tables; #查看当前库中所有表格
show databases; #查看所有数据库
use test; #切换到test数据库
exit;

恢复数据到数据库
mysql test < /root/users.sql #导入数据到test库中
]# mysql #进入数据库系统
MariaDB [(none)]> use test; #切换到数据库test
MariaDB [test]> show tables; #查看当前库有哪些表格

表格操作

1.查(select)
格式:select 表字段,表字段,…from 库名.表名;

mysql
use test;
select * from base; #查看base所有表字段内容
select * from location; #查看location所有表字段内容

use mysql;
select * from test.base;

use test;
select id,name from base;

查找:
mysql
use test;
select * from base where password=‘456’;
select * from base where id=‘4’;
select * from base where id=‘4’ and password=‘123’;
select * from base where id=‘4’ or password=‘123’;

2.增(insert)
格式:insert 表名 values(“值”,“值”,“值”);
MariaDB [test]> insert base values(‘10’,‘dc’,‘789’);

MariaDB [test]> insert base values(‘11’,‘tcc’,‘369’);

MariaDB [test]> select * from base ;

3.改(update)
格式:update 表名 set 表字段=“新值” where 表字段=“值”;
select * from base ;
update base set password=‘8888’ where id=‘1’;
select * from base ;

update base set password=‘9999’ where id=‘2’;
select * from base ;

4.删(delete)
use test;
delete from base where id=‘4’ ;
select * from base ;

delete from base where id=‘3’ ;
select * from base ;

5.为数据库系统管理员设置密码
格式:mysqladmin -u用户名 -p旧密码 password ‘新密码’

mysqladmin -u root password ‘456’
]# mysql -u root -p #交互式进行登录
Enter password:
]# mysql -u root -p456 #非交互式进行登录

已知旧密码修改新密码
]# mysqladmin -u root -p456 password ‘123’
]# mysql -u root -p123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值