window下oracle数据库expdp定时备份

window下的批处理脚本如下:

rem @echo off

rem 获取当前日期字符串
for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c
echo %D%
set log=%D%.log
set backup_dmp=bbtj%D%.dmp
set backup_log=bbtj%D%.log
(
rem 切换盘符
E:
rem 切换目录
cd E:\bbtj_backup\bbtj

echo %backup_dmp%
echo %backup_log%

expdp bbtj/bbtj schemas=bbtj directory=bbtj_dir dumpfile=%backup_dmp% logfile=%backup_log% compression=all

pscp -i E:\bbtj_backup\win170priv.ppk %backup_dmp% [email protected]:/data/remote_backup/backup170
pscp -i E:\bbtj_backup\win170priv.ppk %backup_log% [email protected]:/data/remote_backup/backup170

forfiles /p "E:\bbtj_backup\bbtj" /s /m *.* /d -3 /c "cmd /c echo @path"
forfiles /p "E:\bbtj_backup\bbtj" /s /m *.* /d -3 /c "cmd /c del @path"
)>E:\bbtj_backup\log\%log%  2>&1

注意:批处理脚本中的set命令放在()外面,否则加在定时任务中时执行会报错!!!

免密码传输到异机使用的是pscp puttygen,具体配置参见文档:Windows无密码传文件至Linux-pscp

猜你喜欢

转载自www.cnblogs.com/sorliran/p/9178261.html