linux 删除3天前的文件夹
时间: 2024-03-02 11:52:20 浏览: 37
你可以使用以下命令来删除3天前的文件夹:
```
find /path/to/folder -type d -mtime +3 -exec rm -rf {} \;
```
其中,`/path/to/folder` 是要删除文件夹的路径,`-type d` 表示查找文件夹,`-mtime +3` 表示查找修改时间在3天前的文件夹,`-exec rm -rf {} \;` 表示执行删除操作。
请注意,这个操作是不可逆的,所以在执行前请确保你要删除的文件夹是正确的。
相关问题
linux 删除 /home/mxt/auto/logs 目录 3天之前的文件或文件夹
要删除在3天之前的文件或文件夹,可以使用以下命令:
```bash
find /home/mxt/auto/logs -mtime +3 -delete
```
这条命令会在 /home/mxt/auto/logs 目录中查找修改时间在3天之前的文件或文件夹,并将它们删除。
请注意,这条命令会删除匹配的所有文件和文件夹,包括子目录中的文件和文件夹。如果你只想删除特定类型的文件,可以使用 -name 选项来指定文件名匹配模式。例如,要删除所有后缀为 .log 的文件,可以使用以下命令:
```bash
find /home/mxt/auto/logs -mtime +3 -name "*.log" -delete
```
此命令将删除所有在3天之前修改过且文件名以 .log 结尾的文件。
自动删除7天外的文件夹
你可以使用脚本实现这一功能。如果你使用的是 Linux 操作系统,可以使用 bash 脚本语言;如果使用的是 Windows 操作系统,可以使用 PowerShell 脚本语言。
以 bash 脚本为例,该脚本首先需要遍历指定的文件夹,并获取每个文件夹的创建日期。如果一个文件夹的创建日期早于当前日期的7天前,则删除该文件夹。代码示例如下:
```
#!/bin/bash
folder_path="/path/to/folder"
current_time=$(date +%s)
seven_days_ago=$((current_time - 604800))
for folder in "$folder_path"/*; do
if [ -d "$folder" ]; then
folder_create_time=$(stat -c %Y "$folder")
if [ $folder_create_time -lt $seven_days_ago ]; then
rm -r "$folder"
fi
fi
done
```
该脚本的工作原理是:
1. 首先,使用 `date +%s` 命令获取当前时间的 Unix 时间戳。
2. 然后,通过减去 604800(7天的秒数),计算出7天前的 Unix 时间戳。
3. 接着,遍历指定文件夹(`/path/to/folder`)中的所有文件夹。
4. 对于每个文件夹,使用 `stat -c %Y` 命令获取其创建日期的 Unix 时间戳。
5. 如果该文件夹的创建日期早于 7 天前,则使用 `rm -r` 命令删除该文件夹。