編寫指令碼的思路:
明確指令碼實現的功能哪些資料是變化的,把變化的資料用變數來表示
使用哪種流程控制
使用哪些系統命令
1、編寫指令碼**
使用vim文字編輯器每行一條linux命令,按執行順序依次編寫
2、賦予可執行許可權
若直接執行指令碼檔案,必須具有可執行屬性
3、執行指令碼檔案
指令碼檔案路徑/指令碼名或./指令碼名 (當前路徑下執行指令碼)sh 指令碼名或bash 指令碼名 不需x許可權(推薦使用)
source 指令碼名或. 指令碼名 不需x許可權 #注意」.」點號
說明:
1.第三種方法是使用source或者」.」點號讀入或載入指定的shell指令碼檔案(如san.sh),然後依次執行指定shell指令碼檔案san.sh中的所有語句。2 source或者」.」點號命令的功能是在當前shell中執行source或者」.」點號載入並執行的相關指令碼檔案中的命令及語句,這些語句將作為當前父shell指令碼father.sh程序的一部分執行。因此,使用source或者」.」點號可以將san.sh自身指令碼中的變數的值或函式等的返回值傳遞到
當前的父shell指令碼father.sh中使用。這是第三種方法和前兩種的最大區別。也是值得讀者注意的地方。
而不是產生乙個子shell來執行命令檔案中的命令。
正常的shell指令碼
指令碼宣告(需要的直譯器、作者資訊等)注釋資訊(步驟、思路、用途、變數含義等)
可執行語句(操作**)
指令碼應用例項
1.每3
天備份一次
mysql
資料庫2.編寫乙個指令碼,實現以下目標:
每次root使用者登入後,自動報告當前登入的使用者數、開啟的程序數、剩餘可用記憶體、剩餘交換空間
3.list_sys_status.sh顯示系統使用的以下資訊:主機名、
ip位址、子網掩碼、閘道器、dns服務
ip位址
ifconfig | head -2 | tail -1 | awk '' | awk -f ":"
''
mysqlbak.sh備份資料庫目錄指令碼
#!/bin/bashday=`date +%y%m%d`
size=`du -sh /var/lib/mysql`
echo
"data: $day
" >> /tmp/dbinfo.txt
echo
"data size: $size
" >> /tmp/dbinfo.txt
cd /opt/dbbak &> /dev/null || mkdir /opt/dbbak;cd /opt/dbbak
tar zcf /opt/dbbak/mysqlbak-$.tar.gz /var/lib/mysql /tmp/dbinfo.txt &> /dev/null
rm -f /tmp/dbinfo.txt
5.每週日半夜
23點半,對資料庫伺服器上的
webdb
庫做完整備份。把備份檔案儲存在系統的
/mysqlbak
目錄裡,用系統日期做備份檔案名
webdb-yyyy-mm-dd.sql
每次完整備份後都生成新的binlog日誌把當前所有的binlog日誌備份到
/mysqlbinlog
目錄下。
Jmeter(三)指令碼製作與調優
重點 引數化 csv讀取資料 函式 難點 正規表示式 手工編寫指令碼 介面引數 介面的傳遞引數可由 1 介面文件 api文件 swagger工具整合 2 抓包工具 錄製指令碼 badboy工具錄製 1 介面文件 api文件 swagger 2 抓包工具 http 伺服器 1 配置 使用jmeter做...
Mysql資料備份三 指令碼備份mysqldump
使用mysqldump進行備份,這個是最保險最安全的資料備份方法.雖然使用它比mysqlhotcopy要慢些,但其匯出的是sql語句文字檔案,不存在平台的相容性問題.也可用於備份除myisam型別以外的資料表.下面給出shell指令碼,大家可以根據自己的實際需要對其進行修改,以完成自己需要的功能.s...
Shell1 指令碼的編寫與執行與注釋
1.shell 指令碼的編寫 只要有乙個能編寫 的文字編輯器和乙個能解釋執行的指令碼直譯器就可以了。是乙個約定的標記,告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式。即它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。eg bin sh,bin bash li...