Linux下九个实用脚本
发布人:shili8
发布时间:2025-01-12 04:57
阅读次数:0
**Linux 下九个实用脚本**
Linux 是一种强大的操作系统,提供了大量的工具和脚本来帮助用户管理和维护系统。以下是九个实用的 Linux 脚本,涵盖了从基本任务到高级功能的各个方面。
###1. 自动备份脚本**目的:** 定期备份重要文件和目录,以防止数据丢失。
**代码:**
bash#!/bin/bash# 定义备份目录和文件名BACKUP_DIR=/path/to/backupFILE_NAME=$(date +'%Y-%m-%d') # 创建备份目录mkdir -p $BACKUP_DIR# 备份重要文件和目录tar -czf ${BACKUP_DIR}/${FILE_NAME}.tar.gz /path/to/important/files# 发送邮件通知echo "Backup completed!" | mail -s "Daily Backup" your_email@example.com
**注释:**
* `BACKUP_DIR` 和 `FILE_NAME` 是自定义变量,用于指定备份目录和文件名。
* `tar` 命令用于创建压缩包, `-czf`选项表示创建 gzip 压缩的 tar 包。
* `mail` 命令用于发送邮件通知。
###2. 自动更新脚本**目的:** 定期更新系统和软件,以确保安全性和稳定性。
**代码:**
bash#!/bin/bash# 更新系统包sudo apt update && sudo apt full-upgrade -y# 更新软件包sudo apt autoremove -y# 重启系统sudo reboot
**注释:**
* `apt` 命令用于更新系统和软件包。
* `update`选项用于更新包列表, `full-upgrade`选项用于升级所有可用包。
* `autoremove`选项用于自动移除不再需要的包。
###3. 自动杀毒脚本**目的:** 定期扫描和清理病毒和恶意软件。
**代码:**
bash#!/bin/bash# 安装 ClamAVsudo apt install clamav -y# 扫描系统clamscan -i / --stdout | tee /var/log/clamav.log# 清理病毒sudo clamscan -r / --remove /var/log/clamav.log
**注释:**
* `ClamAV` 是一个强大的杀毒软件,用于扫描和清理病毒。
* `clamscan` 命令用于扫描系统, `-i`选项表示只扫描当前目录, `--stdout`选项表示输出结果到标准输出。
###4. 自动监控脚本**目的:** 定期监控系统性能和资源利用率。
**代码:**
bash#!/bin/bash# 监控 CPU 利用率echo "CPU Utilization: $(top -b -n1 | awk '{print $9}')" # 监控内存利用率echo "Memory Utilization: $(free -m | awk 'NR==2{printf "%s", $3*100/$2 }')%" # 监控磁盘空间echo "Disk Space: $(df -h / | awk '{print $4}')"
**注释:**
* `top` 命令用于监控 CPU 利用率, `-b`选项表示不缓存输出, `-n1`选项表示只显示一次。
* `free` 命令用于监控内存利用率, `-m`选项表示以 MB 为单位。
* `df` 命令用于监控磁盘空间, `-h`选项表示以易读的格式输出。
###5. 自动日志脚本**目的:** 定期清理系统日志,以免占用过多空间。
**代码:**
bash#!/bin/bash# 清理系统日志find /var/log -type f -mtime +30 -exec rm {} ; # 重启 syslog服务sudo service syslog restart
**注释:**
* `find` 命令用于清理系统日志, `-type f`选项表示只查找文件, `-mtime +30`选项表示只删除超过30 天的文件。
* `rm` 命令用于删除文件。
###6. 自动用户脚本**目的:** 定期添加或删除系统用户。
**代码:**
bash#!/bin/bash# 添加新用户sudo useradd -m -s /bin/bash newuser# 删除旧用户sudo userdel -r olduser
**注释:**
* `useradd` 命令用于添加新用户, `-m`选项表示创建家目录, `-s`选项表示设置 shell。
* `userdel` 命令用于删除旧用户, `-r`选项表示递归删除用户的文件。
###7. 自动组脚本**目的:** 定期添加或删除系统组。
**代码:**
bash#!/bin/bash# 添加新组sudo groupadd -g1000 newgroup# 删除旧组sudo groupdel oldgroup
**注释:**
* `groupadd` 命令用于添加新组, `-g`选项表示指定 GID。
* `groupdel` 命令用于删除旧组。
###8. 自动权限脚本**目的:** 定期更改文件和目录的权限。
**代码:**
bash#!/bin/bash# 更改文件权限chmod -R755 /path/to/files# 更改目录权限chown -R newuser:newgroup /path/to/dirs
**注释:**
* `chmod` 命令用于更改文件和目录的权限, `-R`选项表示递归操作。
* `chown` 命令用于更改文件和目录的所有者。
###9. 自动时间脚本**目的:** 定期同步系统时间。
**代码:**
bash#!/bin/bash# 同步系统时间sudo ntpdate -q pool.ntp.org# 重启时钟服务sudo service timesyncd restart
**注释:**
* `ntpdate` 命令用于同步系统时间, `-q`选项表示只输出结果,不进行实际操作。
* `timesyncd` 是一个用于同步系统时间的服务。
以上是九个实用的 Linux 脚本,涵盖了从基本任务到高级功能的各个方面。这些脚本可以帮助你管理和维护系统,确保系统安全、稳定和高效。