windows下oracle自动备份批处理
上一篇日志中,我将windows下的备份流程分成了五步走。本日志就结合上篇的理论来个实例。该实例是来自于我现网的中的一个备份示例(不要想着弄我密码啊,内容改过的,呵呵)。费话少说,直接上脚本:
1@eche off
2//下面一部分是设置变量部分
3set exp_path=D:oracleproduct10.2.0db_1BIN
4set data_path=E:ora_exptest
5set o_sid=test
6rem set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
7set user_name=abc
8//格式化备份输出为年月日时格式
9if "%time:~0,1%"==" " (set backup_file=%db_name%-%date:~0,4%%date:~5,2%%date:~8,2%-0%time:~1,1%) else (set backup_file=%db_name%-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%)
10%exp_path%exp %user_name%/"""abc@sg"""@%o_sid% file=%data_path%%backup_file%.dmp log=%data_path%%backup_file%.log
11cd /d %data_path%
12//压缩备份文件并删除原文件
13"C:Program FilesWinRARrar.exe" a %backup_file%.rar %backup_file%.dmp >>%data_path%%backup_file%.log
14del /Q %backup_file%.dmp
15//备份周期循环
16forfiles /m /d -15 "cmd /c del @file" >del.log
17//email通知提示
18sendEmail.exe -f [email protected] -t [email protected] -s mail.abc.com -u oracle_bak -xu nagios -xp test@nagios -m "192.168.1.12 oracle-test-db-bak" -a %data_path%%backup_file%.log del.log
将上面的脚本写好后,可以通过schtasks命令添加到计划任务中。
1@echo off
2rem 请制定bat文件的绝对路径
3set bat_path=E:ora_exp
4rem 新建存放dmp的目录
5mkdir E:ora_exptest
6mkdir E:ora_exp361way
7//从00:50分开始,每小时做一次备份
8rem schtasks test_exp
9SCHTASKS /Delete /TN "test_exp" /F
10schtasks /create /sc hourly /st 00:50 /mo 1 /tn "test_exp" /tr %bat_path%test_exp.bat
11//每周做一次备份
12rem schtasks 361way_exp
13SCHTASKS /Delete /TN "361way_exp" /F
14schtasks /create /sc daily /mo 7 /st 05:00 /tn "361way_exp" /tr %bat_path%361way_exp.bat
schtasks命令的详细用法可以参看百度百科。当然如面感觉命令不直观,也可以通过控制面板——计划任务——新增计划任务来添加任务。
最后再提供一个批处理加密的工具。点我下载
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/oracle-schtasks-auotbak/2135.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.