2015-12-19 140 views
-4

删除3天的日志,我在UNIX环境中很努力,所以我有一个由我的应用程序在以下位置是shell脚本从目录

/opt/app/glac/current/servers/ops/log 

日志目录中创建的日志有不同种类的日志(也就是具有.log的extesion文件)已经被创建,你能否建议我想写一个shell脚本,这样脚本会询问用户的天数,如果用户输入价值3所以在这种情况下,它会删除所有3天的日志,可以说如果日期是19 dec 2015,并且如果用户输入值为3,那么它将删除包括16日志的日志也只会保留th的17,18 and 19 decË只记录

请指教会是怎样的shell脚本来实现这一

+1

日志旋转,压缩和除去所使用的“logrotate的”封装通常处理。非常方便,安全且易于安装。它应该安装在典型的unixoid系统上。 – arkascha

回答

1

可以在find命令中使用mtime

#!/bin/bash echo "Enter no of days :" read ARCHIVE_DAYS find /opt/app/glac/current/servers/ops/logs -name '*.log' -mtime +${ARCHIVE_DAYS} -type f -exec rm -f {} \;