由于工作需要, 有台Oracle数据库归档日志太多, 需要写个shell脚本自动删除, 今晚就写出来了
#!/bin/bash
#要执行删除的目录
p=/oracle/product/archive
#设定排除删除的文件最后修改时间的范围,修改时间范围是执行此脚本距日志文件最后修改时多少秒内
time_sect=604800
#执行脚本的当前时间
timenow=`date -u +%s`
#循环开始选择文件名
cd $p
for i in `ls *.dbf`
do
#文件的创建时间
file_time=`stat --printf=%Y $p/$i`
#判断文件的修改时间是都达到指定的时间范围,如果达到则删除
if [ $(($timenow-$file_time)) -gt $time_sect ]
then
rm -rf $p/$i
fi
done
exit
本文介绍了一个用于自动删除Oracle数据库中过期归档日志的Shell脚本。该脚本通过设置时间阈值来确定哪些日志可以被安全地删除,并提供了具体的实现细节。

1673

被折叠的 条评论
为什么被折叠?



