【BASH】自动清理rman备份文件的脚本

************************************************************************ ****原文:blog.csdn.net/clark_xu  徐长亮的专栏 ************************************************************************

rman备份脚本

#! /bin/bash

su - oracle <<!

rman target /<<EOF

backup AS COMPRESSED BACKUPSET  database

include current controlfile format'/orabak/db_%d_%T_%s'

plus archivelog format'/orabak/arch_%d_%T_%s' delete allinput;

delete noprompt obsolete;

exit;

EOF




第三个备份保存平台自动清理过期的备份文件




#! /bin/bash

for file in `ls /orabak`

do

   if [[ ${file:0:2} == "db" ]];then

         fdate=${file:10:8}

         mydate=`date +%Y%m%d -d "-7 day"`

         if [[ $fdate < $mydate ]];then

               rm -rf $file;

         else

               echo $file;

         fi

     else

         fdate=${file:12:8}

        mydate=`date +%Y%m%d -d "-7 day"`

         if [[ $fdate < $mydate ]];then

               rm -rf $file;

         else

               echo $file;

         fi

      fi


done







你可能感兴趣的:(【BASH】自动清理rman备份文件的脚本)