linux 清理磁盘空间脚本
时间: 2023-07-31 07:07:45 浏览: 251
以下是一个简单的Linux磁盘空间清理脚本示例,可以用来清理不需要的文件和目录,释放磁盘空间:
```bash
#!/bin/bash
# 定义要清理的目录路径
cleanup_dirs=(
/var/log
/tmp
)
# 定义要保留的文件类型
keep_extensions=(
.log
.gz
)
# 清理目录下的旧文件和不需要的文件
cleanup() {
local dir=$1
local keep_exts="(${keep_extensions[*]})"
# 清理旧文件(超过30天)
find $dir -type f -mtime +30 -delete
# 清理不需要的文件(不在保留文件类型列表中)
find $dir -type f ! \( -name "*$keep_exts" \) -delete
}
# 执行清理操作
for dir in "${cleanup_dirs[@]}"; do
cleanup $dir
done
echo "磁盘空间清理完成!"
```
请注意,这只是一个简单示例脚本,您可能需要根据实际需求进行修改和扩展。在运行脚本之前,请确保您有足够的权限,并且仔细检查要清理的目录和保留的文件类型列表,以免误删重要文件。
另外,建议定期运行磁盘空间清理脚本,以保持系统的磁盘空间整洁和可用。
相关问题
linux里清理磁盘脚本
清理磁盘的脚本可以使用以下命令:
```bash
#!/bin/bash
# 清理apt的缓存
sudo apt-get clean
# 删除无用的软件包
sudo apt-get autoremove
# 删除旧的内核
sudo apt-get remove --purge $(dpkg -l | awk '/^rc/ { print $2 }')
# 清理日志
sudo journalctl --vacuum-size=50M
# 清理/tmp目录
sudo rm -rf /tmp/*
# 清理/var/tmp目录
sudo rm -rf /var/tmp/*
# 清理/var/log目录
sudo rm -rf /var/log/*
# 清理/var/cache目录
sudo rm -rf /var/cache/*
# 清理/var/crash目录
sudo rm -rf /var/crash/*
# 清理/var/lib/apt/lists目录
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update
```
以上脚本将清理apt缓存、无用的软件包、旧的内核、日志、/tmp目录、/var/tmp目录、/var/log目录、/var/cache目录、/var/crash目录、/var/lib/apt/lists目录。可以根据实际情况适当修改。在执行该脚本之前,请确保您已经备份了重要的数据。
自动清理磁盘空间脚本示例
自动清理磁盘空间的脚本示例通常用于定期删除不再需要的文件,以释放磁盘空间。以下是一个使用Bash脚本在Linux系统中自动清理临时文件的简单示例:
```bash
#!/bin/bash
# 设置要清理的目录
TEMP_FILES="/tmp/*"
# 清理超过7天未修改的文件
find $TEMP_FILES -type f -mtime +7 -exec rm -f {} \;
# 清理空目录
find $TEMP_FILES -type d -empty -delete
echo "清理完成。"
```
这个脚本做了以下几件事情:
1. 定义了一个变量TEMP_FILES,用于指定需要清理的目录(这里是/tmp)。
2. 使用`find`命令查找该目录下7天内未被修改过的文件,并使用`-exec`参数执行`rm -f`命令来删除这些文件。
3. 同样使用`find`命令,查找空的目录并删除它们。
请注意,运行此类脚本可能会导致数据丢失,因此在实际应用前应该仔细检查脚本的逻辑,并在安全的环境中进行测试。确保已经对文件进行了适当的备份,并且不会误删重要文件。
在执行脚本之前,还需要给脚本文件添加执行权限,可以使用命令:
```bash
chmod +x cleanup_script.sh
```
然后,可以通过直接运行脚本或设置定时任务(如使用cron)来定期执行此脚本。
阅读全文