进入oracle账户后创建备份目录
通过mkdir oadbbak命令创建了备份目录oadbbak目录
通过sqlplus 账号/密码 as sysdba登陆数据库
通过以下两条命令在数据库创建目录名exp_dir映射到刚才创建的备份路径/opt/oracle/oadbbak目录。
create directory exp_dir as '/opt/oracle/oadbbak';
grant read,write on directory exp_dir to public;
Exit退出sql
创建 BackUp.sh文件输入以下命令
expdp 账号/密码@ip:1521/portaldb directory=exp_dir dumpfile=`date +%Y%m%d%H%M%S`portaldb.dmp logfile=`date +%Y%m%d%H%M%S`portaldb.log
创建 rootBackUp.sh文件
su -c /opt/oracle/BackUp.sh - oracle
创建DeleteUp.sh文件
删除5天前的备份
find /opt/oracle/oadbbak -maxdepth 1 -type f -mtime +5 -name "*.dmp" | xargs rm -rf
find /opt/oracle/oadbbak -maxdepth 1 -type f -mtime +5 -name "*.log" | xargs rm -rf
上传完成之后切换root用户
在root用户下执行crontab -e 添加以下内容:
00 23 * * * /opt/oracle/rootBackUp.sh //每天23点执行
00 02 * * * /opt/oracle/DeleteUp.sh //每天凌晨2点执行
备份时间及次数可根据项目需求自行设置
可以通过tail -n 20 /var/log/cron 查看最近20条的定时任务执行记录