也许,时间见过我们

配合crontab即可实现标题

使用 bash + 脚本 + 目录

bash xx.sh /root/xx/

脚本如下:

#!/bin/bash
# 将current转换为时间戳,精确到秒
CURRENT_TIMESTAMP=`date +%s`
CURRENT_TIMESTAMP=$((CURRENT_TIMESTAMP+0))
# echo $CURRENT_TIMESTAMP
function read_dir(){
# 两个反引号,表示运行系统命令
for file in `ls $1`
 do
  if [ -d $1"/"$file ]
  then
  read_dir $1"/"$file
  else
  # 在此处处理文件
  echo "######################################"
  echo "文件:"$1"/"$file
  # 文件名
    FILE_NAME=$1"/"$file
    # 获取文件最后打开时间戳
    LAST_OPEN_TIMESTAMP=`stat -c %X  $FILE_NAME`
    LAST_OPEN_TIMESTAMP=$((LAST_OPEN_TIMESTAMP+0))
    # echo $LAST_OPEN_TIMESTAMP
    # 删除7天未打开文件
    TIME_DIFF=$[ CURRENT_TIMESTAMP - LAST_OPEN_TIMESTAMP ]
    # 距离上次打开多久
    echo "距离上次打开已过了: "$TIME_DIFF""
    # 修改时间阈值
    if [ $TIME_DIFF -gt $[ 7*24*3600 ] ]
    then
    `rm -f $FILE_NAME`
    echo "状态:近期未打开,已删除"
    else
    echo "状态:近期有打开"
    fi
    # 格式化时间戳
    FORMATE_DATE=`date '+%Y-%m-%d %H:%M:%S' -d @$LAST_OPEN_TIMESTAMP`
    echo "最后打开时间:"
    echo $FORMATE_DATE
  fi
 done
}
read_dir $1
FORMATE_DATE_CURRENT_TIMESTAMP=`date '+%Y-%m-%d %H:%M:%S' -d @$CURRENT_TIMESTAMP`
echo "当前时间:"
echo $FORMATE_DATE_CURRENT_TIMESTAMP

 

posted on 2021-12-03 14:09  画入新雪  阅读(213)  评论(0编辑  收藏  举报

Copyright ©2017 画入新雪