在信息技术领域,终端自动化是一个非常重要的概念,它可以帮助我们简化日常任务,提高工作效率。通过编写脚本,我们可以自动化执行一系列命令,从而避免重复性的手动操作。下面,我将为您介绍10个实用的终端自动化脚本案例,帮助您轻松上手。
1. 文件夹创建脚本
功能描述
自动创建指定数量的文件夹,并设置基本权限。
代码示例
#!/bin/bash
# 定义文件夹数量
num_of_folders=5
# 循环创建文件夹
for i in $(seq 1 $num_of_folders)
do
mkdir -p "folder_$i"
chmod 755 "folder_$i"
done
使用说明
将上述脚本保存为 create_folders.sh,赋予执行权限后运行,即可创建5个文件夹。
2. 文件压缩脚本
功能描述
将指定目录下的文件压缩成zip格式。
代码示例
#!/bin/bash
# 定义压缩文件名
zip_name="archive.zip"
# 定义压缩目录
dir_to_compress="/path/to/directory"
# 压缩目录
zip -r $zip_name $dir_to_compress
echo "压缩完成,文件名:$zip_name"
使用说明
将上述脚本保存为 compress_files.sh,修改 dir_to_compress 变量为需要压缩的目录路径,运行脚本即可。
3. 系统监控脚本
功能描述
监控CPU、内存、磁盘使用情况,并记录到日志文件。
代码示例
#!/bin/bash
# 定义日志文件
log_file="/path/to/logfile.log"
# 获取系统信息
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
mem_usage=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# 记录到日志文件
echo "时间:$(date) - CPU使用率:$cpu_usage% - 内存使用率:$mem_usage%" >> $log_file
echo "监控完成,信息已记录到日志文件"
使用说明
将上述脚本保存为 monitor_system.sh,修改 log_file 变量为日志文件保存路径,运行脚本即可。
4. 文件夹同步脚本
功能描述
将指定源文件夹中的文件同步到目标文件夹。
代码示例
#!/bin/bash
# 定义源文件夹和目标文件夹
source_dir="/path/to/source"
dest_dir="/path/to/destination"
# 同步文件夹
rsync -av $source_dir $dest_dir
echo "同步完成"
使用说明
将上述脚本保存为 sync_folders.sh,修改 source_dir 和 dest_dir 变量分别为源文件夹和目标文件夹路径,运行脚本即可。
5. 定时任务脚本
功能描述
定时执行指定任务,例如每天凌晨备份数据库。
代码示例
#!/bin/bash
# 定义备份文件名
backup_file="backup_$(date +%Y%m%d%H%M%S).sql"
# 备份数据库
mysqldump -u username -p password databasename > $backup_file
# 移动备份文件到指定目录
mv $backup_file /path/to/backup/directory
echo "备份完成,文件名:$backup_file"
使用说明
将上述脚本保存为 backup_database.sh,修改 username、password 和 databasename 变量分别为数据库用户名、密码和数据库名,运行脚本即可。
6. 网络测试脚本
功能描述
测试网络连接速度,并记录到日志文件。
代码示例
#!/bin/bash
# 定义测试目标
test_target="www.example.com"
# 获取网络速度
speedtest=$(curl -s http://speedtest.net/speedtest.php | grep -Po '"download":\K[^,]+(?=\}")' | awk '{printf "%.2f", $1}')
# 记录到日志文件
echo "时间:$(date) - 网络速度:$speedtest MB/s" >> /path/to/logfile.log
echo "网络测试完成,信息已记录到日志文件"
使用说明
将上述脚本保存为 test_network.sh,修改 test_target 变量为测试目标网址,运行脚本即可。
7. 文件查找脚本
功能描述
查找指定文件,并返回文件路径。
代码示例
#!/bin/bash
# 定义要查找的文件名
filename="example.txt"
# 查找文件
find_path=$(find / -name "$filename" 2>/dev/null)
# 输出结果
if [ -n "$find_path" ]; then
echo "文件找到,路径:$find_path"
else
echo "文件未找到"
fi
使用说明
将上述脚本保存为 find_file.sh,修改 filename 变量为要查找的文件名,运行脚本即可。
8. 系统更新脚本
功能描述
自动更新系统软件包。
代码示例
#!/bin/bash
# 更新系统软件包
sudo apt-get update
sudo apt-get upgrade -y
echo "系统更新完成"
使用说明
将上述脚本保存为 update_system.sh,运行脚本即可。
9. 系统重启脚本
功能描述
定时重启系统。
代码示例
#!/bin/bash
# 定义重启时间(分钟)
reboot_time=10
# 等待指定时间
sleep $reboot_time
# 重启系统
sudo reboot
使用说明
将上述脚本保存为 reboot_system.sh,修改 reboot_time 变量为等待时间(分钟),运行脚本即可。
10. 系统关机脚本
功能描述
定时关机。
代码示例
#!/bin/bash
# 定义关机时间(分钟)
shutdown_time=10
# 等待指定时间
sleep $shutdown_time
# 关机
sudo shutdown -h now
使用说明
将上述脚本保存为 shutdown_system.sh,修改 shutdown_time 变量为等待时间(分钟),运行脚本即可。
通过以上10个实用的终端自动化脚本案例,相信您已经对终端自动化有了初步的了解。在实际应用中,您可以根据自己的需求进行修改和扩展,从而实现更多自动化功能。祝您在终端自动化领域取得更好的成果!
