您的位置:

Shell脚本编写实例

一、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 <

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 脚本的基础知识以及实际应用,可以大大提高系统管理效率。