shell脚本linux目录满了,自动删除文件
时间: 2023-07-25 08:24:12 浏览: 166
可以编写shell脚本来实现Linux目录满了自动删除文件的功能。以下是一个简单的示例脚本:
```
#!/bin/bash
DIR="/var/log" # 要清理的目录
THRESHOLD=90 # 磁盘使用率的阈值
# 获取磁盘使用率
USAGE=$(df -h | grep "$DIR" | awk '{print $5}')
USAGE=${USAGE%\%}
# 如果磁盘使用率超过阈值,则删除一周前的日志文件
if [ $USAGE -ge $THRESHOLD ]; then
find $DIR -type f -mtime +7 -name "*.log" -delete
fi
```
该脚本首先定义了要清理的目录和磁盘使用率的阈值,然后使用`df`命令获取磁盘使用率,并删除一周前的日志文件,如果磁盘使用率超过了阈值。
可以将该脚本保存为一个.sh文件,并使用cron定时任务工具来定期执行该脚本。例如,可以使用以下命令将该脚本添加到每周日的cron定时任务中:
```
sudo crontab -e # 进入cron配置页面
```
在打开的页面中添加以下命令:
```
0 0 * * 0 /path/to/script.sh
```
这条命令的含义是,在每周日的0点0分执行一次脚本,自动清理/var/log目录下一周前的所有日志文件。
相关问题
linux写shell脚本自动恢复
你好!对于自动恢复Linux系统的Shell脚本,可以根据具体需求编写脚本来执行相应的恢复操作。以下是一个简单的示例脚本,用于备份并恢复指定目录下的文件:
```bash
#!/bin/bash
# 备份目录
backup_dir="/path/to/backup"
# 恢复目录
restore_dir="/path/to/restore"
# 备份函数
backup_files() {
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir" # 如果备份目录不存在,则创建
fi
cp -R "$restore_dir" "$backup_dir" # 复制恢复目录到备份目录
echo "Backup completed successfully."
}
# 恢复函数
restore_files() {
if [ -d "$backup_dir" ]; then
rm -rf "$restore_dir" # 删除原有恢复目录
cp -R "$backup_dir" "$restore_dir" # 复制备份目录到恢复目录
echo "Restore completed successfully."
else
echo "No backup found. Please run backup first."
fi
}
# 主菜单
echo "1. Backup files"
echo "2. Restore files"
echo "3. Exit"
read -p "Please enter your choice: " choice
case $choice in
1) backup_files;;
2) restore_files;;
3) exit;;
*) echo "Invalid choice. Please try again.";;
esac
```
你可以根据实际需求修改备份目录和恢复目录的路径,并根据需要添加更多的恢复逻辑。这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。记得使用`chmod +x script.sh`命令给脚本添加可执行权限,然后使用`./script.sh`命令运行脚本。希望对你有所帮助!如果有其他问题,请随时提问。
ubuntu 编写shell脚本 删除文件
Ubuntu是一种基于Linux操作系统的开源操作系统,它提供了一个稳定、安全和易于使用的环境来编写和运行shell脚本。Shell脚本是一种用于自动化任务的脚本语言,可以通过编写一系列的命令和逻辑来完成特定的任务。
要在Ubuntu上编写shell脚本来删除文件,可以按照以下步骤进行操作:
1. 打开一个文本编辑器,例如Gedit或Vim。
2. 创建一个新的文件,并为其添加.sh扩展名,例如delete_file.sh。
3. 在文件中输入以下内容:
```bash
#!/bin/bash
# 这是一个删除文件的shell脚本
# 设置要删除的文件路径
file_path="/path/to/file"
# 检查文件是否存在
if [ -f "$file_path" ]; then
# 删除文件
rm "$file_path"
echo "文件删除成功!"
else
echo "文件不存在!"
fi
```
4. 替换`/path/to/file`为要删除的文件的实际路径。
5. 保存并关闭文件。
6. 打开终端,并导航到保存了shell脚本的目录。
7. 运行以下命令,以使脚本可执行:
```bash
chmod +x delete_file.sh
```
8. 运行以下命令来执行脚本:
```bash
./delete_file.sh
```
脚本将检查指定路径下的文件是否存在,如果存在则删除它,并输出相应的消息。如果文件不存在,则输出文件不存在的消息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)