一、Shell腳本基礎
Shell腳本是一種編程語言,可以操作Unix/Linux系統,實現系統自動化、管理等操作。學習Shell腳本需要掌握以下基礎知識:
1、變量:Shell腳本中可以定義變量來存儲數據,使用時需要在變量名前加$符號,例如:
name="John"
echo $name
2、流程控制語句:流程控制語句包括if語句、for循環、while循環等,可以使用這些語句來控制程序的執行流程,例如:
if [ $age -gt 18 ]
then
echo "成年人"
else
echo "未成年人"
fi
3、函數:函數是一段可重複使用的代碼,可以在代碼執行過程中多次調用,例如:
function print_hello(){
echo "Hello World!"
}
print_hello
二、Shell腳本實例
1、監控系統CPU和內存使用情況
以下 Shell 腳本可以監控系統的 CPU 和內存使用情況:
CPU使用情況:
top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'
內存使用情況:
free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }'
2、備份網站文件並上傳至FTP服務器
以下 Shell 腳本可以備份網站文件並上傳至FTP服務器:
#!/bin/bash
#定義變量
FTPHOST='ftp.example.com'
FTPUSER='user'
FTPPASSWD='password'
REMOTEPATH='/var/www/html/'
LOCALFILE='/var/www/html/'
#備份網站文件
tar -cvzf backup.tar.gz ${LOCALFILE}
#上傳至FTP服務器
ftp -n <<!
open ${FTPHOST}
user ${FTPUSER} ${FTPPASSWD}
binary
cd ${REMOTEPATH}
put backup.tar.gz
quit
!
3、批量重命名文件名後綴
以下 Shell 腳本可以批量重命名文件名後綴:
#!/bin/bash
for file in *.txt
do
mv ${file} ${file%.txt}.md
done
4、自動清除系統日誌
以下 Shell 腳本可以自動清除系統日誌,可以定期運行這個腳本來清理日誌文件:
#!/bin/bash
#刪除日誌文件
find /var/log -type f -name "*.log" -exec rm -f {} \;
#清空日誌文件
for log in `find /var/log -type f`
do
echo "" > ${log}
done
三、總結
以上是四個 Shell 腳本的實例,可以根據需求來修改相應的代碼。掌握 Shell 腳本的基礎知識以及實際應用,可以大大提高系統管理效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/198322.html