目标
定时备份数据库并复制到另一台服务器
实现步骤:
1、在数据库服务器/home下增加一个bakdb.sh文件,并编辑内容,内容如下
#!/bin/sh export ORACLE_BASE=/oradb export ORACLE_HOME=$ORACLE_BASE/11.2.0.4 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" PATH=$PATH:$ORACLE_HOME/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/java/bin:. export PATH extdate=`date +"%Y_%m_%d"` extdel=`date +"%Y_%m_%d" -d "a month ago"` extsid='test' extuser='user' extpassword='password' datapath='/backup' #删除一个月前的备份文件 rm -f $datapath/*$extdel* #执行备份操作 /oradb/11.2.0.4/bin/exp $extuser/$extpassword@orcl file=$datapath/$extsid-$extdate.dmp owner=test log=$datapath/$extsid-$extdate.log #压缩备份文件 tar zcvf $datapath/$extsid-$extdate.tar.gz $datapath/$extsid-$extdate.dmp rm -f $datapath/$extsid-$extdate.dmp scp -r $datapath/$extsid-$extdate.tar.gz root@192.168.xxx.xxx:/bak/bakdb
2、给增加的bakdb.sh赋予755权限
chmod 755 baklgjt.sh
3、增加自动执行任务
crontab -e
增加一行
0 23 * * * /home/bakdb.sh
4、重启定时任务
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
5、配置scp无密码复制
请参考:https://blog.csdn.net/qq_39749620/article/details/123978841



