oracle定时备份与删除N天前备份文件

oracle定时备份数据库,以及删除7天前备份的数据。

1、创建存放备份目录:

mkdir /home/oracle/data_backup

mkdir /home/oracle/log_backup

2、编辑脚本oracle_backup.sh,内容如下:

#!/bin/sh

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export DATA_DIR=/home/oracle/data_backup
export LOGS_DIR=/home/oracle/log_backup
export BAKUPTIME=`date +%Y%m%d%H%M%S`

echo "Starting bakup..."
echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
exp shop/[email protected] file=$DATA_DIR/$BAKUPTIME.dmp log=$LOGS_DIR/$BAKUPTIME.log

echo "Delete the file bakup before 10 days..."
find $DATA_DIR -mtime +10 -name "*.dmp" -exec rm -rf {} \;
echo "Delete the file bakup successfully. "

echo "Bakup completed."

脚本中:

$DATA_DIR:数据库备份文件存放目录

-mtime 固定写法

+10:10天前

"*.dmp" 后缀为dmp的文件将全部被删除

2、添加到任务调度

crontab -u oracle -e

* 3 * * *
/home/bakup/bakup.sh
即每天凌晨3点进行备份
如需每天备份多次,可设置不同时间段备份:
例如:* 3,13,18 * *
* /home/bakup/bakup.sh,即每天3点、13点、18点进行备份。
说明:文件备份目录,用户oracle必须有更改权限,否则无法备份。

oracle定时备份与删除N天前备份文件

时间: 2024-08-24 11:54:58

oracle定时备份与删除N天前备份文件的相关文章

centos下mysql数据库自动备份并删除N天前备份文件

1.创建bak_xx_mysql.sh文件 #!/bin/bash# Name:bak_xx_mysql.sh# XX数据库文件备份#db_user="root"db_passwd="root"db_name="db_name"#mysqldump 目录mysql_bin_dir="/alidata/server/mysql-5.6.21/bin/mysqldump"# 备份文件目录backup_dir="/alid

oracle定时备份

1.将如下代码复制到文本中,最后将文本后缀名称修改成XXX.bat 批处理文件: ********************************************************************************************************************************* @echo offsetlocal ENABLEDELAYEDEXPANSION ::读取配置文件md %windir%\OracleAutoBackup >

Windows下Oracle定时备份(全量备份)

关于Windows下oracle全量备份的文章,很多网站都有,写下本文不过是为了以后方便查找,不用再到处找. 以下些许内容有所参考到其他人所写内容,这里无意冒犯,本文引用内容部分会附上参考地址,还望原作者见谅. 备份脚本 新建txt文档,把脚本复制进去后改文件格式为bat文件,双击运行即可测试该脚本是否有误. 这里要说明一下,开始把脚本拿过来执行时,一直未能成功备份数据库 用bat的pause暂停调试发现了一些问题,有时不注意可能会在定义的变量如BACKUPDATE.USER等后面带了空格 这个

oracle 定时备份

第一步.bat脚本: @echo off echo 删除10天前的备分文件和日志 forfiles /p "z:/back" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /p "z:/back" /m *.log /d -10 /c "cmd /c del @path" echo 正在备份 Oracle 数据库,请稍等…… exp sxybyj/[email protected

linux下面自动打包备份并且删除5 天前的文件

项目要求 1.自动打包某一个文件目录, 2.自动将打包文件放置至一个指定目录 3.自动清除5天前的文件: 实现: 1.使用crontab 进行定时备份 2.使用tar压缩 3.使用shell算出日期 ,remove 旧文件 4. 在/usr/sbin目录中加入备份文件:baksvn #!/bin/sh rq=`date +%Y%m%d` rm -f /home/svnbak/`date -d '-5 days' +%Y%m%d`.tar.gz tar zcvf /home/svnbak/$rq.

postgreSQL备份脚本删除3天前备份同时压缩昨天备份

脚本功能: 系统环境:SUSE Linux Server 11.3 X64 1.删除3天前压缩文件(.bak.tar.gz) 2.备份数据库(未压缩文件.bak) 3.压缩昨天数据库备份文件(.bak.tar.gz),删除昨天数据库备份未压缩文件(.bak) #!/bin/bash export PATH=$PATH:/usr/local/pgsql/bin DATE=`date +%Y_%m_%d_%H` YESDAY=`date -d "yesterday" +%Y_%m_%d_%

linux下SVN定时备份并删除历史备份

利用svnadmin hotcopy可以实现完全备份,但不能进行增量备份.svnadmin hotcopy是将整个库都"热"拷贝一份出来,包括库的钩子脚本.配置文件等:任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库. 优点是:备份过程较快,灾难恢复也很快:如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作. 缺点是:比较耗费硬盘,需要有较大的硬盘支持.在/data/svnbackup目录建立备份脚本svnbak.

windows下创建MySQL定时备份与删除脚本

今天在windows服务器上面写了一个MySQL定时任务,备份呢与删除 rem *****************************Code start**************************** @echo off set SrcDir=E:\mysql_backup set DaysAgo=30 set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" "C:\Program Files\MySQL\MySQL Server

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