linux脚本压缩前几天的命令

worktile 其他 136

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    几天前的文件压缩可以通过使用Linux的find命令结合tar命令来实现。下面是一个简单的示例,可以根据需要进行适当修改:

    “`shell
    #!/bin/bash

    # 压缩文件存放的目录
    backup_dir=”/path/to/backup”

    # 需要压缩的文件所在的目录
    source_dir=”/path/to/source”

    # 需要压缩的文件的模式匹配(可以根据实际情况进行修改)
    file_pattern=”*.txt”

    # 需要压缩的时间范围(几天前的文件)
    days_ago=7

    # 创建备份目录
    mkdir -p $backup_dir

    # 使用find命令查找指定时间范围内的文件,并将其打包压缩
    find $source_dir -name “$file_pattern” -mtime +$days_ago -exec tar -czvf $backup_dir/archive.tar.gz {} +

    # 删除指定时间范围内的文件(可选)
    # find $source_dir -name “$file_pattern” -mtime +$days_ago -exec rm {} +
    “`

    解释:
    1. 将需要压缩的文件存放目录路径存储在`source_dir`变量中。
    2. 将压缩文件存放目录路径存储在`backup_dir`变量中。
    3. 使用`find`命令根据指定的时间范围和文件模式匹配查找符合条件的文件。
    4. 使用`tar`命令将找到的文件打包压缩到指定目录下的`archive.tar.gz`文件中。
    5. 如果需要删除指定时间范围内的文件,可以将最后一行的注释取消,并运行脚本。

    请根据实际情况修改脚本中的路径和参数,以满足您的需求。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用脚本来压缩前几天的文件。下面是一个示例脚本,用于压缩指定目录下某个日期之前的文件:

    “`bash
    #!/bin/bash

    # 指定目录和日期
    directory=”/path/to/directory”
    date_threshold=”$(date -d “3 days ago” +%Y%m%d)”

    # 遍历目录中的文件
    for file in $directory/*; do
    # 获取文件的最后修改日期
    last_modified=$(date -r “$file” +%Y%m%d)

    # 如果文件的最后修改日期早于指定日期,则压缩文件
    if [[ $last_modified -lt $date_threshold ]]; then
    gzip “$file”
    fi
    done
    “`

    该脚本中,`directory`变量用于指定要搜索的目录路径,`date_threshold`变量通过`date`命令获取3天前的日期。然后,脚本使用`for`循环遍历目录中的每个文件。对于每个文件,使用`date`命令获取文件的最后修改日期,并将其与指定日期进行比较。如果文件的最后修改日期早于指定日期,则使用`gzip`命令压缩该文件。

    需要注意的是,该脚本中的日期格式为`%Y%m%d`,表示年份、月份和日期。你可以根据需要修改日期格式。

    此外,你还可以根据需要自定义脚本,例如压缩前一周或前一个月的文件。只需要相应地修改日期阈值即可。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用脚本来压缩前几天的文件。以下是一种实现方法的操作流程:

    1. 创建一个新的脚本文件:
    “`
    touch compress_script.sh
    “`

    2. 打开脚本文件并编辑:
    “`
    vi compress_script.sh
    “`

    3. 在脚本文件中添加以下内容:
    “`
    #!/bin/bash

    # 设置要压缩的文件夹路径
    folder_path=”/path/to/folder”

    # 设置要保留的天数
    keep_days=7

    # 获取当前日期并计算保留日期
    today=$(date +%Y-%m-%d)
    keep_date=$(date -d “$today -$keep_days days” +%Y-%m-%d)

    # 遍历文件夹中的文件
    for file in $folder_path/*
    do
    # 获取文件的最后修改日期
    modification_date=$(date -r “$file” +%Y-%m-%d)

    # 检查文件的最后修改日期是否早于保留日期
    if [[ $modification_date < $keep_date ]]; then # 如果是,则压缩该文件 tar -cvzf "$file.tar.gz" "$file" # 删除原始文件 rm "$file" fidone```4. 保存并关闭脚本文件。5. 授予脚本文件执行权限:```chmod +x compress_script.sh```6. 运行脚本文件:```./compress_script.sh```以上脚本将压缩指定文件夹中最后修改日期早于保留日期的文件。你需要根据实际情况修改脚本中的文件夹路径(`folder_path`)和要保留的天数(`keep_days`)。压缩文件的命名规则是将原始文件名添加后缀`.tar.gz`。压缩后的文件将替代原始文件。需要注意的是,在运行脚本之前,确保你具有压缩和删除文件的权限,并且小心确认你要压缩的文件夹路径和要保留的天数是否正确。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部