源碼編譯安裝
scp /linux-soft/1/tools.tar.gz root@192.168.4.7:/root
將真機tools的tar包拷貝并傳輸到192.168.4.7虛擬機的root目錄下
ls /root
查看root目錄下是否有真機拷貝過來的tools.tar.gz包
tar -tf /root/tools.tar.gz
查看tools.tar.gz包的內容
tar -xf /root/tools.tar.gz -C /
釋放tar包到 / 根目錄下
tar -xf /tools/inotify-tools-3.13.tar.gz -C /usr/local #tar解包
釋放tar包到/usr/local目錄下(習慣)
yum -y install gcc make #安裝開發(fā)工具gcc與make
安裝開發(fā)工具gcc軟件包和make軟件包
rpm -q gcc make
查看開發(fā)工具軟件包是否已安裝
cd /usr/local/inotify-tools-3.13
切換/usr/local/inotify-tools-3.13源碼配置文件目錄(inotify-tools-3.13可提供文件/目錄監(jiān)控工具inotifywait)
./configure #配置
運行源碼目錄下configure腳本
./configure --help
查看configure腳本幫助
./configure --prefix=/opt/myrpm
運行腳本以后要指定安裝到哪個目錄下(-- prefix=安裝目錄藤肢,不會自動創(chuàng)建目錄)
ls Makefile
列出當前目錄下的子文件太闺,查看有沒有安裝Makefile文件
make #編譯
生成可執(zhí)行的二進制程序文件(放在內存中)
make install #安裝
編譯安裝,將編譯好的文件復制安裝到目錄
- 步驟1:
安裝開發(fā)工具
gcc與make嘁圈,釋放源代碼至指定目錄- 步驟2:
tar解包
省骂,釋放源代碼至指定目錄- 步驟3:./configure
配置
,指定安裝目錄/功能模塊等選項- 步驟4:make
編譯
最住,生成可執(zhí)行的二進制程序文件- 步驟5:make install
安裝
钞澳,將編譯好的文件復制到安裝目錄
總結
編譯安裝inotify-tools軟件包
- 釋放inotify-tools-3.13.tar.gz源碼包
- 配置 ./configure
- 編譯make、安裝make install
rsync 同步操作
rsync [選項...] 源目錄 目標目錄
- 同步與復制的差異
- 復制:完全拷貝源到目標
- 同步:增量拷貝涨缚,只傳輸變化過的數據
sync操作選項
選項 | 解析 |
---|---|
-n | 測試同步過程轧粟,不做實際修改 |
--delete | 刪除目標文件夾內多余的文檔 |
-a | 歸檔模式,相當于-rlptgoD |
-v | 顯示詳細操作信息 |
-z | 傳輸過程中啟用壓縮/解壓 |
本地同步
mkdir /mydir /todir
創(chuàng)建兩個目錄
cp /etc/passwd /mydir
將/etc/passwd用戶信息文件拷貝到/mydir目錄下
touch /mydir/1.txt
在/mydir目錄下創(chuàng)建個叫1.txt的文件
ls /mydir
查看/mydir目錄里有沒有創(chuàng)建的1.txt文件
rsync -av /mydir /todir
用rsync同步下數據(源數據沒有加/脓魏,將同步整個文件夾)
ls /todir
查看/todir目錄下是否同步成功
rsync -av /mydir/ /todir
用rsync同步數據(源數據有/兰吟,同步文件夾下的數,在源數據后面加上
/
斜杠代表當前目錄
)
ls /todir
查看/todir目錄是否同步成功
touch /mydir/2.txt
在源數據/mydir目錄下創(chuàng)建個2.txt文件
rsync -av /mydir/ /todir
用rsync同步數據轧拄,/mydir是源數據揽祥,/todir是目標,
把源數據文件夾下的數據同步到目標文件夾下
ls /todir
查看下/todir目錄是否同步成功
echo 123 > /mydir/1.txt
輸出123到源數據下的1.txt文件里
rsync -av /mydir/ /todir
用rsync同步數據檩电,/mydir是源數據拄丰,/todir是目標,
把源數據文件夾下的數據同步到目標文件夾下
ls /todir
查看/todir目錄下的文件是否同步成功
rsync -av --delete /mydir/ /todir/
--delete
刪除目標目錄下多余的數據(文件或目錄)俐末,源數據不變料按,用rsync同步數據
ls /mydir/
查看源數據/mydir目錄是否發(fā)生改變
ls /todir/
查看目標/todir目錄是否發(fā)生改變
touch /todir/a.txt
在目標目錄里創(chuàng)建文件
ls /todir/
查看是否創(chuàng)建成功
rsync -av --delete /mydir/ /todir/
用rsync同步數據
ls /todir/
查看目標目錄/todir是否同步數據發(fā)生變化
ls /mydir/
查看/mydir源數據目錄是否發(fā)生變化
遠程同步
- 與遠程的 SSH目錄保持同步
- 下行:rsync [...] user@host:遠程目錄 本地目錄
下載
(將另一臺虛擬機的數據同步到本地) - 上行:rsync [...] 本地目錄 user@host:遠程目錄
上傳
(將本地的數據同步到另一臺虛擬機)
- 虛擬機A的/mydir目錄的內容與虛擬機B的/opt進行同步
rsync -av --delete /mydir/ root@192.168.4.207:/opt #虛擬機A
將本地的/mydir源數據共享給4.207主機的/opt目錄下進行同步數據
ls /opt/ #虛擬機B
查看虛擬機B是否同步成功
實時數據同步
- 虛擬機A的/mydir/目錄的內容與虛擬機B的/opt進行同步
- 實現ssh無密碼驗證(公鑰與私鑰)
ssh-keygen #虛擬機A
生成密鑰
ls /root/.ssh/ #虛擬機A
id_rsa
(私鑰)
id_rsa.pub
(公鑰)
known_hosts
(記錄曾經遠程管理過的機器)
查看.ssh里生成的公鑰和私鑰
ssh-copy-id root@192.168.4.207 #虛擬機B
將公鑰傳遞給虛擬機B
rsync -av --delete /mydir/ root@192.168.4.207:/opt
將本地的/mydir源數據共享給4.207主機的/opt目錄下進行同步數據
inotifywait基本用法
inotifywait [選項] 目標文件夾
常用命令選項
選項 | 解析
---|---
-m | 持續(xù)監(jiān)控(捕獲一個事件后不退出)
-r | 遞歸監(jiān)控、包括子目錄及文件
-q | 減少屏幕輸出信息
-e | 指定監(jiān)視的 modify卓箫、move载矿、create、delete烹卒、attrib 等
書寫shell腳本(了解)
- 腳本:可以運行一個文件闷盔,實現某種功能
- 中文:新建用戶zhangsan shell: useradd zhangsan
- 死循環(huán):while循環(huán)
while 條件
do
重復執(zhí)行的事情
done
vim /etc/rsync.sh
在/etc目錄下新建個rsync.sh以.sh為結尾的文件并且寫入內容
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -a --delete /mydir/ root@192.168.4.207:/opt
done
在rsync文件里寫入while循環(huán),條件為
監(jiān)控數據的更改
旅急,重復執(zhí)行的事情為同步數據
逢勾,只要一同步數據監(jiān)控數據就會監(jiān)聽
chmod a+x /etc/rsync.sh
賦予執(zhí)行權限
/etc/rsync.sh &
運行腳本程序,將程序放入后臺
jobs -l
查看后臺進程并顯示PID
kill 17707
停止腳本
數據庫服務基礎
- 數據庫:存放數據的倉庫
- 在數據庫系統(tǒng)中藐吮,有很多的數據庫溺拱,在每一個庫中有很多的表格
常見的關系型 數據庫管理系統(tǒng)
微軟 | SQL Server |
---|---|
IBM | DB2 |
甲骨文 | Oracle逃贝、MySQL |
社區(qū)開源版 | MariaDB |
部署MariaDB 數據庫系統(tǒng)
yum -y install mariadb-server
安裝MariaDB軟件包
systemctl restart mariadb
啟用mariadb服務
MariaDB基本使用
- Linux系統(tǒng)的管理指令不能使用
- 所有的數據庫系統(tǒng)指令都必須以 ; 結尾
- 數據庫系統(tǒng)的指令大部分不支持tab補全
mysql
進入數據庫系統(tǒng)
create database nsd01;
創(chuàng)建nsd01數據庫
show databases;
查看所有數據庫
drop database nsd01;
刪除數據庫nsd01
show databases;
查看所有數據庫
exit;
退出數據庫系統(tǒng)
mysql
進入數據庫系統(tǒng)
use mysql;
切換到mysql數據庫
show tables;
查看當前庫中所有表格
show databases;
查看所有數據庫
use test;
切換到test數據庫
exit;
退出數據庫系統(tǒng)
為數據庫系統(tǒng)管理員設置密碼
- mysqladmin [-u用戶名] [-p[舊密碼]] password '新密碼'
- 數據庫系統(tǒng)管理員:對于數據庫系統(tǒng)有最高權限,名字為root迫摔,能夠登陸數據系統(tǒng)的用戶信息有mysql庫中user表進行儲存
- Linux系統(tǒng)管理員: 對于Linux系統(tǒng)有最高權限沐扳,名字為root,能夠登陸Linux系統(tǒng)的用戶信息/etc/passwd進行儲存
mysqladmin -u root password '123'
指定root用設置密碼為123
mysql -u root -p
交互式進行登錄
mysql -u root -p456
非交互式進行登錄
mysqladmin -u root -p123 password '456'
已知舊密碼修改新密碼
mysql -u root -p456
非交互式進行登錄
mysql -u root -p456
進入數據庫系統(tǒng)
create database nsd01;
創(chuàng)建nsd01數據庫
show databases;
查看所有數據庫
exit;
退出數據庫系統(tǒng)
傳遞備份好的數據文件users.sql到虛擬機A中
- 點擊真機root選擇其他位置句占,輸入連接到服務器ftp地址
172.96.8.78
進入2104把users.sql拖動到真機的root下
ls /root
查看root下是否有users.sql文件
scp /root/users.sql root@192.168.4.7:/root
把users.sql文件以root的身份拷貝到4.7虛擬機的root下
恢復數據到數據庫
mysql -u root -p456 nsd01 < /root/users.sql
把users.sql文件恢復到mysql的nsd01倉庫
mysql -u root -p456
非交互式進行登錄
MariaDB [(none)]> use nsd01;
切換到數據庫nsd2104
MariaDB [nsd01]> show tables;
查看當前庫有哪些表格
+-------------------+
| Tables_in_nsd01 |
+-------------------+
| base |
| location |
+-------------------+
表格操作
- 增(insert) 刪(delete) 改(update) 查(select)
–表字段沪摄、表記錄
編號 姓名 住址
1 Dc 東村
2 Tc 西村
查(select)
- 格式: select 表字段,表字段辖众,…… from 庫名.表名;
select * from base;
查看base所有表字段內容
select * from location;
查看location所有表字段內容
use test;
切換到test倉庫
select * from nsd01.base;
在另外一個倉庫查看base表格里的所有表字段內容加上指定要查看的倉庫
use nsd01;
切換到nsd01倉庫
select id,name from base;
查看指定的表字段
select * from base where password='456';
查看指定的密碼為456
select * from base where id='4';
查看指定的id為4
select * from base where id='4' and password='123';
查看指定的id為4并且查看指定的密碼為456
select * from base where id='4' or password='123';
查看指定的id為4或查看指定的密碼為456
增(insert)
- insert 表名 values (‘值’,‘值’,‘值’);
MariaDB [nsd01]> insert base values('10','dc','789');
添加id為10卓起,名字為dc,密碼為789
MariaDB [nsd01]> insert base values('11','tcc','369');
添加id為10凹炸,名字為dc戏阅,密碼為789
MariaDB [nsd01]> select * from base ;
查看base所有表字段內容
改(update)
- update 表名 set 表字段=‘新值’ where 表字段=’值’;
select * from base ;
查看base所有表字段內容
update base set password='8888' where id='1';
修改base表格的password密碼為8888和id為1啤它,如果不指定id的話奕筐,會把所有的密碼覆蓋掉全部改為8
select * from base ;
查看base所有表字段內容
update base set password='9999' where id='2';
修改base表格的password密碼為9999和id為2,如果不指定id的話变骡,會把所有的密碼覆蓋掉全部改為9
select * from base ;
查看base所有表字段內容
刪(delete)
delete from base where id='4' ;
刪除base表格里指定的id為4
select * from base ;
查看base所有表字段內容
delete from base where id='3' ;
刪除base表格里指定的id為3
select * from base ;
查看base所有表字段內容
制作鏈接 (連接)文件(制作快捷方式)
- 格式:ln -s /路徑/源數據 /路徑/快捷方式的名稱 #軟鏈接
ln -s /etc/sysconfig/network-scripts/ /ns
把network-scripts改成ns离赫,快捷方式為
ns
(軟連接)
ls /
查看根目錄下是否有ns快捷方式
ls -l /ns
查看鏈接文件的詳細信息
touch /ns/haha.txt
在快捷方式里創(chuàng)建文件
touch /ns/maohehaozi.txt
在快捷方式里創(chuàng)建文件
touch /ns/shukehebeita.txt
在快捷方式里創(chuàng)建文件
ls /etc/sysconfig/network-scripts/
查看ns快捷方式的根文件目錄里是否有在快捷方式里創(chuàng)建的文件
- 軟連接優(yōu)勢:可以針對目錄與文件制作快捷方式
- 軟連接缺點:源數據消失,快捷方式失效
- 格式:ln /路徑/源數據 /路徑/快捷方式的名稱 #硬鏈接
rm -rf /opt/*
刪除/opt目錄下的所有文件及目錄
echo 123 > /opt/A.txt
輸入123追加到A.txt并生成文件
ln -s /opt/A.txt /opt/B.txt
軟鏈接
ln /opt/A.txt /opt/C.txt
硬鏈接
ls /opt/
查看opt目錄下的文件及目錄
cat /opt/B.txt
查看opt目錄B文件里的內容
cat /opt/C.txt
查看opt目錄C文件里的內容
rm -rf /opt/A.txt
刪除主文件A
ls /opt/
列出opt目錄下的子文件
cat /opt/B.txt
查看opt目錄B文件里的內容塌碌,報錯秉继,因為主文件已經被刪除
cat /opt/C.txt
查看opt目錄C文件里的內容虽缕,保留內容
- 硬鏈接優(yōu)勢:源數據消失经伙,快捷方式仍然有效
- 硬鏈接缺點:只能針對文件制作快捷方式拘荡,不支持支持跨分區(qū)
加上-s就是軟鏈接,不加-s就是硬鏈接接剩。