Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

#!/bin/bash
#设置Oracle数据库运行账号及oracle的系统环境变量
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export ORACLE_SID=test
export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib
export LANG=zh_CN.UTF-8
export NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK‘
#获取系统当前日期时间
date=`date +%Y%m%d%H%M%S`
#设置删除60天之前的备份文件
days=60
#备份此用户下面的数据
orowner=oracle
#备份数据库名称
bakuser=user
#执行备份的密码
bakpass=pass
#备份文件路径,需要提前创建好
bakdir=/data/backup/oracle/backup/
#备份数据库名称
bakdata=$orowner"_"$date.dump
#备份执行时候生成的日志文件名称
baklog=$orowner"_"$date.log
#最后保存的Oracle数据库备份文件
ordatabak=$orowner"_"$date.tar.gz
#进入目录
cd $bakdir
#执行备份
exp $bakuser/$bakpass grants=y owner=$bakuser file=$bakdir/$bakdata log=$bakdir/$baklog &> /dev/null
#压缩备份文件和日志文件
tar -zcf $ordatabak $bakdata $baklog
#删除备份文件
find $bakdir -type f -name "*.log" -exec rm {}  \;
#删除日志文件
find $bakdir -type f -name "*.dump" -exec rm {}  \;
#删除60天前的备份
find $bakdir -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;
时间: 2024-10-28 09:44:56

Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份的相关文章

Linux下自动备份Oracle数据库并删除指定天数前的备份

Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务器 mkdir -p /backup/oracledata #新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Or

linux 下备份MySQL数据库 并删除7天前的备份数据

#!/bin/bash #备份数据库hz jshuabo sdhuabo name=$(date +%Y%m%d) /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 hz > /root/sqlBackup/hz.$name.sql /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 jshuabo > /root/sqlBackup/jshuabo.$na

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

商城系统在linux系统中定时备份MySQL数据库并删除七天前的备份文件

数据库是商城软件中重要的组成部分,定时任务能周期性地自动执行中的程序必要的业务逻辑,以DSMall开源商城系统每日店铺结算的业务逻辑为例:!/bin/bash?Name:bakmysql.sh?This?is?a?ShellScript?For?Auto?DB?Backup?and?Delete?old?Backup备份地址backupdir=/home/mysqlbackup备份文件后缀时间time=`?date?+%Y%m%d%H%M%S?<br/>需要备份的数据库名称<br/>

linux定时备份MySQL数据库并删除七天前的备份文件

#!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup and Delete old Backup #备份地址 backupdir=/home/mysqlbackup #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=test #mysql 用户名 db_user=root #mysql 密码 db_pass=123456 my

Linux实现定时备份MySQL数据库并删除30天前的备份文件

1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password='你的数据库密码' 3. 编写数据库脚本 mysql-backup.sh # vim mysql-backup.sh #!/bin/bash backupDir=数据库备份目录 backupTime=`date +%Y%m%d%H%M%S` mysqldump 你的数据库 | gzip > $ba

sql server 批量备份数据库及删除N天前的备份数据

很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 -

让linux每天定时备份MySQL数据库并删除五天前的备份文件

MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1.创建备份文件夹#cd /bak#mkdir mysqldata 2.编写运行脚本#nano -w /usr/sbin/bakmysql.sh注:如使用nano编辑此代码需在每行尾添加'&&'或';'连接符,否则生成的文件名末尾字符为乱码 代码:#!/bin/bash# Name:bakmysq