有个简单需求:oracle数据库放到host-a上面,我希望在host-b每天早上3点备份host-a指定oracle table数据。
步骤一、在host-b安装oracle环境或者oracle instant client
步骤二、在host-b配置TNS Name
# 编辑并添加下面配置 vi /u01/app/oracle/network/admin/tnsnames.ora
host_a_db = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host-a )(PORT = 1521)) ) (CONNECT_DATA = (SID = logstat)(SERVER = DEDICATED)) )
步骤三、编写shell脚本
vi backup.sh #内容如下 exp logstat/xxxx@host_a_db FILE=snda-`date -d yesterday +%Y%m%d`.dmp TABLES=T1,T2 BUFFER=64000 #只保留7天的备份 find /home/oracle/snda_bak -name '*.dmp' -mtime +6 -exec rm -fr {} \;
扫描二维码关注公众号,回复:
1301470 查看本文章
备份文件名称包含当前日期前一天日期,这样的效果“snda-20130415.dmp”
步骤四:挂crontab
3 3 * * * source .bash_profile; /home/oracle/backup.sh > out.log
--end