三 指令碼編寫與執行

2022-05-30 23:00:10 字數 1788 閱讀 8457

編寫指令碼的思路:

明確指令碼實現的功能

哪些資料是變化的,把變化的資料用變數來表示

使用哪種流程控制

使用哪些系統命令

1、編寫指令碼**

使用vim文字編輯器

每行一條linux命令,按執行順序依次編寫

2、賦予可執行許可權

若直接執行指令碼檔案,必須具有可執行屬性

3、執行指令碼檔案

指令碼檔案路徑/指令碼名或./指令碼名 (當前路徑下執行指令碼)

sh 指令碼名或bash 指令碼名 不需x許可權(推薦使用)

source 指令碼名或. 指令碼名 不需x許可權 #注意」.」點號

說明:

1.第三種方法是使用source或者」.」點號讀入或載入指定的shell指令碼檔案(如san.sh),然後依次執行指定shell指令碼檔案san.sh中的所有語句。

這些語句將作為當前父shell指令碼father.sh程序的一部分執行。因此,使用source或者」.」點號可以將san.sh自身指令碼中的變數的值或函式等的返回值傳遞到

當前的父shell指令碼father.sh中使用。這是第三種方法和前兩種的最大區別。也是值得讀者注意的地方。

2 source或者」.」點號命令的功能是在當前shell中執行source或者」.」點號載入並執行的相關指令碼檔案中的命令及語句,

而不是產生乙個子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/bash

day=`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...