当前位置:首页 > 行业动态 > 正文

实用的shell脚本

实用的shell脚本可以自动化日常任务,提高工作效率。批量重命名文件、备份数据等。

在Linux系统中,shell脚本是一种强大的工具,它可以用来自动化任务、简化操作和提高效率,本文将介绍9个实用的shell脚本,帮助你更好地利用shell脚本进行工作。

1、文件备份脚本

#!/bin/bash
文件备份脚本
src="/path/to/source/file" # 源文件路径
dst="/path/to/destination/folder" # 目标文件夹路径
filename="backup_$(date +%Y%m%d).tar.gz" # 备份文件名
tar czf $filename $src
cp $filename $dst

2、系统监控脚本

#!/bin/bash
系统监控脚本
while true; do
    free m | grep "Mem" # 内存使用情况
    df h | grep "/$" # 磁盘使用情况
    top b n 1 | head n 5 # 进程使用情况
    sleep 30 # 每隔30秒刷新一次
done

3、网络监控脚本

#!/bin/bash
网络监控脚本
while true; do
    ping c 4 www.baidu.com # 测试网络连通性
    ifconfig # 查看网络接口信息
    sleep 30 # 每隔30秒刷新一次
done

4、日志分析脚本

#!/bin/bash
日志分析脚本
logfile="/path/to/logfile.log" # 日志文件路径
grep "error" $logfile # 查找错误日志
grep "warning" $logfile # 查找警告日志
grep "info" $logfile # 查找信息日志

5、批量重命名脚本

#!/bin/bash
批量重命名脚本
for file in *.txt; do mv "$file" "${file//old/new}"; done # 将所有.txt文件的"old"替换为"new"并重命名

6、下载文件脚本

#!/bin/bash
下载文件脚本
url="http://example.com/file.zip" # 文件下载地址
filename="file.zip" # 本地保存的文件名
wget $url O $filename # 使用wget命令下载文件并保存到本地

7、定时任务脚本

#!/bin/bash
定时任务脚本
echo "This is a scheduled task." >> /path/to/output.txt # 将字符串追加到指定文件中,作为定时任务输出内容
crontab e # 编辑定时任务配置文件,添加以下内容:*/5 * * * * /path/to/scheduled_task.sh > /dev/null 2>&1 # 每隔5分钟执行一次定时任务脚本,并将输出重定向到空设备,避免显示在终端上。

8、SSH免密码登录脚本

#!/bin/bash
SSH免密码登录脚本
sshkeygen t rsa b 4096 C "your_email@example.com" # 生成SSH密钥对,并设置邮箱信息,以便在远程服务器上添加公钥时确认身份,sshcopyid user@remote_host # 将公钥复制到远程服务器的authorized_keys文件中,实现免密码登录,注意:请将user和remote_host替换为实际的用户名和远程主机地址。

9、自动更新系统脚本

#!/bin/bash
自动更新系统脚本
aptget update && aptget upgrade y # 使用aptget命令更新系统软件包,y参数表示自动确认安装提示,注意:此脚本适用于基于Debian的系统(如Ubuntu),对于其他Linux发行版,请使用相应的包管理工具(如yum、dnf等)进行更新。
0