shell腳本的應用以及相關的命令mysql
1)Shell腳本的做用:主要解決服務器的自動化維護工做,減輕管理員的工做量。sql
2)若是向提升shell腳本的編寫速度,必需要熟練使用vi編輯器的各類快捷鍵shell
3)執行腳本的方式:./是第一種,但必需要有x的執行權限數據庫
bash 跟腳本的文件名 能夠不用x執行權限bash
source 跟腳本的文件名 同bash同樣不須要x執行權限服務器
1、shell腳本基礎知識編輯器
一、編制第一個shell腳本ide
1)Vi first.sh測試
2)在腳本文件中輸入以下內容google
進入到跟下的boot目錄,並查看所在
的位置和查看權限
3)設置執行權限並執行
二、爲腳本添加註釋,友好輸出,更容易讀懂。
1)Vi first.sh
2)./first.sh執行腳本以後以下
三、重定向操做
1)>表示重定向輸出,>>表示重定向追加
1)重定向輸入,<表示重定向輸入
Vim pass.txt
在文件中添加123456
而後執行passwd --stdin jerry < pass.txt
3)錯誤重定向,可用來收集程序執行的錯誤信息,爲排錯提供依據,
例如:執行如下操做能夠將使用tar命令備份時出現的錯誤信息保存到error.log文件中
4)&>操做符能夠將兩類輸出信息保存到同一個文件
例如,在編譯源碼包的自動化腳本中,若要忽略make,make install的操做的過程信息
能夠將其定向到空文件/dev/null
首先下載httpd軟件到本機,而後執行Vim httpd_install.sh,並輸入以下內容:
(設置權限chmod +x httpd_install.sh
最後執行./httpd_install.sh)
四、管道操做
例子:使用grep命令查詢使用/bin/bash做爲shell的用戶名稱時
會輸出符合條件的整行內容,在此基礎上能夠結合管道操做與Awk命令作進一步過濾
只輸出用戶名和登陸shell列。
1)提取以前的正常效果
1)提取以後的效果,只顯示用戶名和shell列
1)再例如:顯示磁盤已用的百分比
2、使用shell變量
1、自定義變量:只在本身的shell環境中有效
1)定義新的變量和引用變量
Product=benet
Version=5.0
2、變量賦值的特殊操做
1)雙引號的做用:賦值的內容包含空格時,例如:
2)單引號的做用:賦值的內容中包含」$」, 「「」 , 「 \ 」等具備特殊含義的字符時
2)反撇號(`)的做用:用於將某個命令的輸出結果賦值給變量,例如:
2)$()的做用:能夠代替反撇號,解決嵌套問題,由於反撇號不能實現嵌套,
例如:查詢提供useradd命令程序的軟件包所安裝的配置文件位置.
2)read命令的做用:用來提示用戶輸入信息,例如:
三、設置變量的做用範圍
新定義的變量只在當前shell有效,若是想進入新的shell環境一樣有效
就須要使用export命令將變量導出爲「全局變量」
也能夠在export導出全局變量的同時,也能夠爲變量賦值,例如:
三、變量的運算
3、特殊的shell變量
一、環境變量
環境變量系統安裝好了就存在,不用建立,能夠直接使用,咱們先查看一下:
咱們能夠把腳本直接添加到$PATH搜索路徑中去
這樣執行腳本的時候就不用加./了
環境變量的全局配置文件爲/etc/profile,做用於全部用戶
例如:將歷史記錄命令條數改成200條,只針對root用戶
Vim /root/.bash_profile
只須要添加上面的最後一行
而後執行source /root/.bash_profile使之生效。
一、位置變量,例如求兩個數的和
Vi adder2num.sh
一、預約義變量,系統安裝好以後就有,不能建立,只能使用
例如:$#表示命令行中位置參數的個數,$*表示全部位置參數的內容
$?表示前一條命令執行後的返回狀態,返回0表示正確
$0表示當前執行的腳本或程序的名稱。
例如:製做備份數據腳本,vi mybak.sh
執行腳本./mybak.sh,備份兩個文件
查看備份結果
四:
一、實驗目標:遠程備份mysql服務器的數據庫
二、實驗環境:
一共2臺mysql服務器A和B,在B上遠程備份A上的數據庫
在A上創建數據庫google和baidu,注意在防火牆上開啓3306端口
一、實驗拓撲:
1)在A上創建數據庫
1)在A上創建一個創建一個專用的數據庫用戶,這裏我使用root帳戶,
授予root帳戶對能夠經過遠程主機192.168.1.2鏈接A
1)在備份主機B上備份測試
查看已經備份成功
1)在備份主機B上編寫腳本,以前須要建立備份目錄
mkdir -p /opt/beifen
而後編寫腳本vi mysqlbak.sh
你們注意把上圖中的倒數第六行neme改成name
5)執行備份腳本
./mysqlbak.sh
6)查看備份結果
五、設置計劃任務
Crontab -e
並重啓計劃任務服務。至此遠程備份MySQL服務器的配置完成。
如今在介紹shell腳本更多的應用
以上介紹了shell腳本的應用和說明。(不一一說明了)