利用Shell脚本实现将Oracle数据库的每日EXPDP导出文(2)

(1)在整个函数里,使用了两层FOR循环,外层是用来切换 远程服务器 的下一块磁盘,内层是用来复制 当天生成的DMP文件内容,并把前一天的DMP文件全部清除,因为本地服务器的磁盘存储空间有限,采用只保留当天的DMP文件,所以每次查看EXPDP目录,你会发现只有一份当天的DMP文件,这样也就达到了我要实现的目的。

(2)红色标注的那个IF条件判断语句,就是我在前面说明的磁盘空间容量比较,如果远程服务器上当前所在磁盘的剩余可用空间容量 大于 本地服务器上当天的DMP文件总容量,就把DMP文件复制到这块磁盘,否则,就执行else语句里的continue命令,即跳出本次内层for循环,读取下一块磁盘,把DMP文件复制到下一块磁盘。

(3)SCP命令在执行过程中的复制进度百分比是在每时每刻都变化着的,这个过程是无法直接写到LOG日志文件里的,不信大家试一试?这里,必须用SCRIPT命令随时抓取SCP命令执行的变化值并记录到相应的LOG日志文件,即在SCRIPT命令后面使用“-a参数 LOG文件位置”来实现将变化值追加写到LOG文件,而在SCRIPT命令后面使用“-c参数 SCP命令”来实现远程复制操作。

以上就是我分享的全部内容,另外,我把那个SHELL脚本scp_expdp_parallel_local_to_remote.sh的源代码,大家如果需要可自行下载。

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2017年资料/11月/11日/利用Shell脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器/

下载方法见

------------------------------------------分割线------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5a31563a8fbf79994c9c15915f8772dc.html