免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: puffbaby
打印 上一主题 下一主题

【已解决】这段脚本怎么简化 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-04-21 10:56 |只看该作者
能不能把`date ....`用变量表示阿?这样看着很乱...
南极雨 发表于 2011-04-21 09:48



    呵呵 也是哦,呵呵 现在就是 find -mtime -5 -a -mtime +0 这个还是不准确啊

论坛徽章:
0
22 [报告]
发表于 2011-04-21 11:04 |只看该作者
回复 21# puffbaby


你试试建立一个带时间戳的文件,然后以这个文件为参数查找
touch 04061230 file  4月6日12点30分
find . \( -newer file -o -cnewer file \) -ls

论坛徽章:
0
23 [报告]
发表于 2011-04-21 13:00 |只看该作者
回复  puffbaby


你试试建立一个带时间戳的文件,然后以这个文件为参数查找
touch 04061230 file  4月 ...
南极雨 发表于 2011-04-21 11:04

那这个时间戳文件也是固定的啊。可是,实际是不固定的。
按照原来的写 法find /data/bak -mtime -6 -a -mtime +0 fm {} \;  这样子(设定一到星期天就把周一到周六的文件全删除) 原先有的文件是2011_04_18 ......2011_04_23
到4月24日 星期天 , 执行 find /data/bak -mtime -6 -a -mtime +0 fm {} \;   实际结果是保留了2011_04_24 和2011_04_18 .(2011_04_18这文件就是没删除掉。)

论坛徽章:
0
24 [报告]
发表于 2011-04-21 13:48 |只看该作者
本帖最后由 南极雨 于 2011-04-21 13:54 编辑

回复 23# puffbaby


    -mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

你看看你的时间戳???这个一般是按照n*24小时计算的.,而且是根据更改时间
     -amin n
  查找系统中最后N分钟访问的文件

  -atime n
  查找系统中最后n*24小时访问的文件

  -cmin n
  查找系统中最后N分钟被改变文件状态的文件

  -ctime n
  查找系统中最后n*24小时被改变文件状态的文件

    -mmin n
  查找系统中最后N分钟被改变文件数据的文件

  -mtime n
  查找系统中最后n*24小时被改变文件数据的文件


所以,你换成 -atime 试试

论坛徽章:
0
25 [报告]
发表于 2011-04-21 13:57 |只看该作者
回复  puffbaby


    -mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以 ...
南极雨 发表于 2011-04-21 13:48

  我的时间[`date +%w` -eq  0] 就是取周日这天
不知道是不是我 -mtime -6 -a -mtime +0 这里出现问题了 ,反正总是差一天时间,呵呵,想要删掉周一到周六的,保留周日的,结果又给我多保留了周一的了。

论坛徽章:
0
26 [报告]
发表于 2011-04-21 13:59 |只看该作者
回复  puffbaby


    -mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以 ...
南极雨 发表于 2011-04-21 13:48

  恩, 说的改成访问时间,估计应该差不多了。linux没有创建时间,有点麻烦。

论坛徽章:
0
27 [报告]
发表于 2011-04-21 14:06 |只看该作者
本帖最后由 南极雨 于 2011-04-21 14:07 编辑

回复 26# puffbaby


没有创建时间????这个有点儿不太可能吧>???
  1. [root@ set]# ll
  2. total 28
  3. -rwxr-xr-x 1 root root 8727 Mar 22 11:25 dc.sed
  4. -rwxr-xr-x 1 root root  267 Mar 21 11:22 error
  5. -rw-r--r-- 1 root root  132 Mar 21 12:55 filename.txt
  6. -rw-r--r-- 1 root root    5 Apr 21 13:51 lll
  7. -rwxr-xr-x 1 root root  281 Mar 21 17:02 script


  8. [root@ set]# find . -atime -29 -ls
  9. 10748032    4 drwxr-xr-x   2 root     root         4096 Apr 21 13:51 .
  10. 10748157    4 -rw-r--r--   1 root     root            5 Apr 21 13:51 ./lll

  11. [root@danoolive set]# find . -atime +0 -ls
  12. 10748034    4 -rwxr-xr-x   1 root     root          267 Mar 21 11:22 ./error
  13. 10748037   12 -rwxr-xr-x   1 root     root         8727 Mar 22 11:25 ./dc.sed
  14. 10748035    4 -rwxr-xr-x   1 root     root          281 Mar 21 17:02 ./script
  15. 10748036    4 -rw-r--r--   1 root     root          132 Mar 21 12:55 ./filename.txt

  16. [root@danoolive set]# find . -atime -1 -ls
  17. 10748032    4 drwxr-xr-x   2 root     root         4096 Apr 21 13:51 .
  18. 10748157    4 -rw-r--r--   1 root     root            5 Apr 21 13:51 ./lll



复制代码

论坛徽章:
0
28 [报告]
发表于 2011-04-21 14:18 |只看该作者
回复 27# 南极雨


    我的意思是 没有创建时间的概念啊
只有三个时间啊 last change time ,modify time, access time
-mtime 我刚才试过了 还是要修改 后面的-6 改成 -mtime -8 ...... 就可以了。。。。ORZ
至于atime 我也试试

论坛徽章:
0
29 [报告]
发表于 2011-04-21 14:23 |只看该作者
回复 21# puffbaby


    汗

论坛徽章:
0
30 [报告]
发表于 2011-04-21 14:25 |只看该作者
因为你的脚本 删除命令是每周运行一次的 其实只要设定成删除24小时之前的所有文件就行了:wink: 不用限定5天。。。因为你根本没有5天前的文件嘛
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP