免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3619 | 回复: 11
打印 上一主题 下一主题

[文本处理] AIX系统下计算时间问题,求助,急急急~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-04 11:19 |只看该作者 |倒序浏览

求助各位,我正在编写一个SH脚本用于备份日志,我测试这个脚本,把所有的文件都压塑了,没有实现只压缩七天以前的日志,但现在有一个新需求,只想压缩7天前一天的日志,比如日期是10号,只想压缩2号那天的日志,这个我测试了用find方法不好用,有什么更好方法实现这个功能吗?求助各位linux大神~~~~

论坛徽章:
0
2 [报告]
发表于 2015-01-04 11:21 |只看该作者
不要沉啊, 求助大神

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
3 [报告]
发表于 2015-01-04 12:14 |只看该作者
如果有人想帮助你的话,你希望他们照着你的图片把代码敲一遍是吗?

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
4 [报告]
发表于 2015-01-04 12:19 |只看该作者
find_file=find $LOG_DIR -mtime +7 -name "2014*"这条命令执行会出错。
导致$find_file的值为空。
所以你的日志打包命令就变成了:
tar -cvf /home/sunfcbp/sunflow/log/sunfcbp_log_$bk_date.tar /home/sunfcbp/sunflow/log/subsys/
所以把/home/sunfcbp/sunflow/log/subsys/下所有的文件都打包了。
  1. unset file_list
  2. for file in $(find $LOG_DIR -type f -print); do
  3. if [ "$(date -d @$(expr $(date -r $file +%s) + 7 \* 86400) +%Y%m%d)" = "$bk_date" ]; then
  4. file_list="$file_list $file"
  5. fi
  6. done

  7. tar cvf $BK_DIR/$bk_file $file_list
  8. gzip -9 $BK_DIR/$bk_file
复制代码
回复 1# binbin124820677


   

论坛徽章:
0
5 [报告]
发表于 2015-01-04 14:04 |只看该作者
好吧,我也是一时心急啊。。第一次发帖,sorry回复 3# Shell_HAT


   

论坛徽章:
0
6 [报告]
发表于 2015-01-04 14:05 |只看该作者
Thank you,好详细,我去试试~~谢谢大神~~回复 4# bikkuri


   

论坛徽章:
0
7 [报告]
发表于 2015-01-04 14:24 |只看该作者
对了,我试了,显示错误
Usage: date [-u] [+"Field Descriptors"]
date: Not a recognized flag: r
Usage: date [-u] [+"Field Descriptors"]
Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRUsvwZ ] [ -Number ] [ -f TarFil e ]
           [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ]
           [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ...
Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvwZ[0-9] ] ]
           [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ]
           [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ...
/home/sunfcbp/backuplog/sunfcbp_log_20150104.tar: No such file or directory
我也试了用date -d 方法,但是aix系统好像没有这个函数~
回复 4# bikkuri


   

论坛徽章:
0
8 [报告]
发表于 2015-01-04 14:54 |只看该作者
谢谢各位大神, 我用TZ方法更改时区 ,实现了此备份日志需求,谢谢大家了~~~

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
9 [报告]
发表于 2015-01-04 17:17 |只看该作者
回复 8# binbin124820677

    个人习惯这样写,比如我希望只删某一天的xml文件
  1. touch -t 201412050000 aa.txt
  2. touch -t 201412040000 bb.txt
  3. find ${PATH} -type f -name "*.xml" -newer bb.txt ! -newer aa.txt -exec rm -f {} \;
复制代码

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
10 [报告]
发表于 2015-01-04 19:50 |只看该作者
回复 8# binbin124820677


我觉得这个方法不好。图方便,可以调用perl命令计算日期;对shell感兴趣的话可以看考:
http://bbs.chinaunix.net/thread-1772999-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP