当前位置: 首页 > article >正文

# linux 清理指定目录下,指定时间的历史文件

如何使用这个脚本

1、创建脚本
cleanup.sh

#!/bin/bash

# 默认值
DEFAULT_DIR="/path/to/default/directory"
DEFAULT_DAYS=7

# 使用方法提示
usage() {
    echo "Usage: $0 [-d directory] [-t days]"
    echo "  -d  目标目录 (默认为: ${DEFAULT_DIR})"
    echo "  -t  文件保留天数 (默认为: ${DEFAULT_DAYS} 天)"
    exit 1
}

# 参数解析
while getopts ":d:t:" opt; do
    case ${opt} in
        d )
            TARGET_DIR=$OPTARG
            ;;
        t )
            DAYS=$OPTARG
            ;;
        \? )
            usage
            ;;
        : )
            echo "Error: -${OPTARG} requires an argument."
            usage
            ;;
    esac
done

# 如果没有提供目标目录或天数,则使用默认值
TARGET_DIR=${TARGET_DIR:-$DEFAULT_DIR}
DAYS=${DAYS:-$DEFAULT_DAYS}

# 检查目标目录是否存在
if [ ! -d "${TARGET_DIR}" ]; then
    echo "Error: Directory '${TARGET_DIR}' does not exist."
    exit 1
fi

# 执行清理操作
find "${TARGET_DIR}" -type f -mtime +${DAYS} -exec rm -f {} \;

echo "Cleaned files older than ${DAYS} days in ${TARGET_DIR}"


2、给这个脚本执行权限

chmod +x cleanup.sh


3、执行使用
默认设置

./cleanup.sh


指定不同的目录和天数:

./cleanup.sh -d /path/to/another/directory -t 3

扩展

getopts 是 Bash 内置的一个命令,因此在标准的 Bash 环境中是默认支持的,无需额外安装。Bash 是大多数 Linux 发行版的默认 shell,所以你可以在几乎所有的 Linux 系统上直接使用 getopts。

验证 getopts 是否可用
你可以通过以下命令来验证 getopts 是否在你的系统上可用:

type getopts

如果 getopts 是可用的,你会看到类似以下的输出:

getopts is a shell builtin


http://www.kler.cn/a/407721.html

相关文章:

  • Web3与智能合约:区块链技术下的数字信任体系
  • 分类算法——基于heart数据集实现
  • VMware Workstation 17.6.1
  • 机器学习阶段学习Day31
  • tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
  • 【C#设计模式(14)——责任链模式( Chain-of-responsibility Pattern)】
  • ssm旅游推荐系统的设计与开发
  • Oracle SQL优化③——表的连接方式
  • 【数据结构-队列】力扣225. 用队列实现栈
  • 人工智能之机器学习5-回归算法1【培训机构学习笔记】
  • 【STM32】启动配置和自动串口下载
  • 性能监控利器:Ubuntu 22.04 上的 Zabbix 安装与配置指南
  • windows实现VNC连接ubuntu22.04服务器
  • Java 基础知识 (集合框架 + 并发编程 + JVM 原理 + 数据结构与算法)
  • 2023年下半年信息安全工程师《案例分析》真题答案(2)
  • 移远通信推出全新5G RedCap模组RG255AA系列,以更高性价比加速5G轻量化大规模商用
  • 中小企业人事管理自动化:SpringBoot实践
  • Oracle分析表和索引
  • 微信小程序添加图片验证码
  • 11.19 机器学习-岭回归+拉索回归+逻辑回归
  • 生成式AI;语义通信技术;生成式AI辅助的云边协同算法及其可解释性
  • Fakelocation Server服务器/专业版 Windows11
  • 深度学习2
  • Pytorch使用手册-Build the Neural Network(专题五)
  • 如何下载链接为blob类型的视频,video 标签 src:blob 链接转下载MP4
  • React (三)