首页 > 代码库 > 一天一脚本--之一

一天一脚本--之一

脚本需求:

公司有台oracle数据库,使用oracle自带的rman执行数据库备份,备份文件都存放在本地目录/u01/rmanbk,毕竟备份在本机是不安全的,哪天服务器挂掉,备份文件也会丢失,恢复数据基本不可能了。怎么办呢?备份到异地。公司有另一台windows server 2008的共享服务器,建了一个共享目录,用于存放oracle备份文件。

 

脚本实现:

大概的思路:通过在oracle数据库系统上面挂载windows 2008的共享目录至本地目录,然后把本地/u01/rmanbk目录下的文件copy至本地目录,每天凌晨5点执行,最后删除30天内未修改过的数据文件,仅保持30天内的备份文件。

脚本文件ccdb_rsync.sh

#!/bin/bash    
if [ ! -d /ccdb ]; then      
        mkdir /ccdb      
fi

if  ! mount | grep ccdb > /dev/null; then    
        mount -t cifs //192.168.57.39/ccdb_backup /ccdb -o username=ccdb_backup,password="123456",rw      
fi

for fileName in /u01/rmanbk/*; do    
        baseName=`basename $fileName`      
        if [ ! -e /ccdb/$baseName ]; then      
                cp -a /u01/rmanbk/$baseName /ccdb/$baseName      
        fi      
done

find /ccdb/* ! -mtime -30 -exec rm -rf {} \;

 

# crontab -l  
0 5 * * *  bash /root/ccdb_rsync.sh

一天一脚本--之一