当前位置:首页 > 技术知识 > 正文内容

Linux中的Oracle数据库备份并自动上传到FTP服务器

maynowei8个月前 (08-19)技术知识77

简介:本文主要介绍在Linux环境中,怎么将Oracle数据库进行备份并自动上传到指定的FTP服务器,实现数据库的异地备份。其具体措施是提前部署好FTP服务器,然后编写脚本将Oracle数据库进行备份,并在备份成功后将生成的数据库文件上传到FTP服务器的对应文件夹下,在FTP服务器异地保存。确保了本地和FTP服务端各存一份,实现数据异地备份,提高数据库灾备的安全级别。

详细内容请参考下文。

一、登录linux系统

二、登陆oracle数据库

切换oracle用户的时候提示

原因分析:应该是ORACLE_HOME和PATH没有配置好

解决办法:先执行指令vim .bash_profile修改配置文件,在最后增加两行配置文件。

export ORACLE_HOME=/oracle/app/product/19C/db_home

export PATH=$ORACLE_HOME/bin:$PATH

然后执行命令# source .bash_profile启用该资源文件

三、编写脚本实现数据库文件的备份和自动上传

1、测试否能正确连接数据库

执行指令$ sqlplus / as sysdba

2、创建保存目录expdp_backup

执行指令# mkdir expdp_backup

3、创建本地每日备份脚本文件expdp_day.sh

执行指令# vim /usr/local/expdp_day.sh

4、创建FTP脚本文件ftp.sh

执行指令# vim ftp.sh

#!/bin/bash

date=`date "+%Y%m%d"`

ftp -in <<!

open 172.16.*.*   #备份服务器IP地址

user username password  #备份服务器用户和密码

bin

lcd /expdp_backup/  #本地待备份文件

cd /Backup  #指定备份服务器目录

mput *$date.dmp

bye

5、设置文件执行权限

执行指令# chmod 755 expdp_day.sh

执行指令# chmod 755 ftp.sh

6、编制crontab计划任务

执行指令# crontab -e

格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。

相关文章

惊现!iOS 16.5 kfd 漏洞利用,成功隐藏 Dock 栏

最近!kfd漏洞比较活跃,进展也是很顺利,今天就有大神成功使用 kfd 漏洞实现隐藏 Dock 栏,到底怎么回事?请继续往下看。-- kfd 漏洞说明 --kfd漏洞适合在 iOS 16.2 - 16...

ExpandListView 的一种巧妙写法(三十的另一种写法)

ExpandListView大家估计也用的不少了,一般有需要展开的需求的时候,大家不约而同的都想到了它然后以前自己留过记录的一般都会找找以前自己的代码,没有记录习惯的就会百度、谷歌,这里吐槽一下,好几...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

Linux系统编程—互斥量mutex(linux 互斥量)

##互斥量mutex前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...

Linux系统编程:条件变量为什么要用锁

条件变量可以解决线程同步和共享资源访问的问题,条件变量是对互斥锁的补充,它允许一个线程阻塞并等待另一个线程发送的信号,当收到信号时,阻塞的线程被唤醒并试图锁定与之相关的互斥锁。具体定义如下:等待:in...