oracle 数据库备份脚本 oracle自动备份脚本
#!/bin/bash
#获取当前日期
date_now=$(date +%Y%m%d);
#数据库用户
db_user="ynsps";
#数据库密码
db_password="ynsps_2021";
#ip地址
ip="10.180.39.83"
#oracle虚拟目录名
oracle_directory="DATA_PUMP_DIR";
#数据库服务器oracle 数据库备份脚本,需要在本地客户端tnsnames中定义好
db_server="orcl";
#文件名
file_name="Aj"
#本地客户端执行程序目录
oracle_bin_dir="/home/oracle/xx/bin";
#本地备份目录,存放dump文件与临时压缩文件
local_backup_dir="/opt/oracle/app/admin/orcl/dpdump";
#远程备份目录辅助卡盟,对应备份服务器存放位置oracle 数据库备份脚本,需要提前挂载
remote_backup_dir="/xx/xx/oracle_backup";
#备份当天的数据库
echo "-- $(date +'%Y-%m-%d %H:%M:%S') 自动备份数据库并压缩开始----------------------------------------------";
echo "-- $(date +'%Y-%m-%d %H:%M:%S') 数据库备份开始--------------------------------------------------------";
echo "su oracle -lc "${oracle_bin_dir}/expdp ${db_user}/${db_password}@${db_server} directory=${oracle_directory} full=y dumpfile=${db_server}_${date_now}.dmp logfile=${db_server}_${date_now}.log"";
su - oracle -lc "${oracle_bin_dir}/expdp ${db_user}/${db_password}@${ip}/${db_server} directory=${oracle_directory} full=y dumpfile=${file_name}_${db_server}_${date_now}.dmp logfile=${file_name}_${db_server}_${date_now}.log compression=all";
echo "-- $(date +'%Y-%m-%d %H:%M:%S') 数据库压缩开始--------------------------------------------------------";
echo "cd ${local_backup_dir} && tar -zcf ${db_server}_${date_now}.tar.gz ${db_server}_${date_now}.dmp ${db_server}_${date_now}.log";
cd ${local_backup_dir} && tar -zcf ${file_name}_${db_server}_${date_now}.tar.gz ${file_name}_${db_server}_${date_now}.dmp ${file_name}_${db_server}_${date_now}.log;