环境:Red Hat Enterprise Linux Server release 6.4

需求:需要将Oracle数据库的定时备份上传至FTP服务器

1.干货,用户名:oracle,数据库名称:XXXXXXX,FTP服务器地址:127.0.0.1。脚本至ftp -i -v -n<<!前都为本身存在的数据库定时备份脚本。路径为/home/用户名/ordatabak.sh

#!/bin/sh
. /home/oracle/.bash_profile
date=`date +%Y_%m_%d`
days=7
orowner=wxdb
bakdir=/home/oracle/orabackup
bakdata=$orowner"_"$date
ordatabak=$orowner"_"$date.tar.gz
cd $bakdir
expdp \"\/ as sysdba\" DIRECTORY=DATA_BAK DUMPFILE=$bakdata"_"%U.dmp SCHEMAS=XXXXXXX CONTENT=ALL logfile=$bakdata"_".log cluster=N
tar -zcvf $ordatabak *.dmp *.log
find $bakdir -type f -name "*.log" -exec rm {} \;
find $bakdir -type f -name "*.dmp" -exec rm {} \;
find $bakdir -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \; ftp -i -v -n<<!
open 127.0.0.1
user username passwd
binary
cd /destination_directory
lcd /source_directory
prompt
put $ordatabak $ordatabak
close
bye
!

2.对oracle数据库不是很熟悉,之前搭建的时候是别人负责的,只说ftp上传部分。

我使用的linux没有安装ftp客户端,如果服务器上已经安装了的,可以跳过这一步。首先要安装ftp客户端,命令:yum install ftp,提示complete就表示安装完成。

注意:之前并不知道我使用的linux没有安装ftp客户端,网上搜到的命令为:yum install vsftpd,该命令为安装ftp服务器的,在本例中使用不到,也就没有深究。参考连接:

https://zhidao.baidu.com/question/2010722861325815548.html

http://blog.csdn.net/jiafu1115/article/details/7621303

安装过程中出现错误,错误大概为:

对linux知之甚少,也就只能依靠百度了。大概就是另一程序在使用yum安装程序,所以锁住了,删除yum.pid,重启yum服务(不太清楚是不是,看上去是update的服务),问题得以解决。链接:

https://zhidao.baidu.com/question/331411086597515805.html

[root@centos5 ~]# rm -r /var/run/yum.pid
rm:是否删除 一般文件 “/var/run/yum.pid”? y
[root@centos5 ~]# /sbin/service yum-updatesd restart
停止 yum-updatesd: [确定]
启动 yum-updatesd: [确定]

至于pid文件是干啥的,看这个链接,我也不是很懂。http://blog.csdn.net/shanzhizi/article/details/23272437

3.ftp客户端安装完成后,就可以简单测试ftp连接,脚本也可以仿照1里面写。命令的意思要自己百度,我懒得找了,大概就是open后面加上ftp服务器地址,cd后面写ftp服务器上传地址,lcd写本地上传文件所在地址。

脚本编写完成后,可以尝试运行,并看看ftp服务器上是否收到文件。

简单的vim操作命令 http://www.cnblogs.com/momofan/p/5936203.html

4.添加计划任务

命令:vi /etc/crontab 

网上有些人说命令也可以是 crontab -e,可能是环境的问题,我这边用不了。至此,linux定时备份数据至ftp服务器脚本编写完成。

Linux系统下定时上传文件至FTP服务器脚本的更多相关文章

  1. Linux: 通过命令行上传文件到ftp服务器

    url -T fie-name ftp://server-address --user user:password

  2. .Net 上传文件到ftp服务器和下载文件

    突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...

  3. java 上传文件到 ftp 服务器

    1.  java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...

  4. asp.net 服务器 上传文件到 FTP服务器

    private string ftpServerIP = "服务器ip";//服务器ip private string ftpUserID = "ftp的用户名" ...

  5. Linux上F上传文件到FTP服务器

    Linux上上传跟Windows上上传不一样,在Windows上测试没问题,但是放到Linux服务器上跑,上传的文件中文显示乱码.解决方案: FtpUtil.java红色标记处 package cn. ...

  6. Android 上传文件到 FTP 服务器

    实现背景 近期接触到一个需求,就是将文件从Android系统上传到FTP服务器,虽然之前接触过FTP服务器,了解基本的使用流程,但是将此流程从使用习惯转化为代码实现还是有一定难度的.但是基本的流程还是 ...

  7. ftp配置 Laravel上传文件到ftp服务器

    listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask= dirmessage_enable=YES ...

  8. linux 系统filezilla无法上传文件 553 Could not create

    做网站过程中遇见了很多问题,解决了但是解决方法过一段时间就会遗忘,整理出来以便以后查看. 响应: 553 Could not create file.错误: 严重文件传输错误 解决方案: 一.必须将站 ...

  9. WIN7系统 如何上传文件到FTP服务器中

    https://zhidao.baidu.com/question/214644671.html

随机推荐

  1. 2301: [HAOI2011]Problem b

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4164  Solved: 1888[Submit] ...

  2. 在iOS上present一个半透明的viewController

    UIViewController *viewController = [[UIViewController alloc]init]; UIViewController* controller = se ...

  3. 设置Eclipse启动JDK

    打开eclipse安装目录下的eclipse.ini文件,将红色内容加入 -vm ../Java/jdk1.6.0_26/bin (或者指向具体目录:D:/software/jdk_1.8u91/bi ...

  4. C# 制作 仪表

    以前在百度写的文档,转移到此处 前些天在做NetAnalyzer时,需要使用一个指针仪表,网上看了一下,也有人做过,但是大部分都是收费的,本着自力更生的原则,于是决定自己设计一个,今天拿出来有读者分享 ...

  5. PHP性能优化学习笔记--PHP周边性能优化--来自慕课网Pangee http://www.imooc.com/learn/205

    PHP一般运行于Linux服务器中,周边主要包括:Linux运行环境.文件存储.数据库.缓存.网络 常见PHP场景的开销次序: 读写内存<<读写数据库(使用内存作为缓存.异步处理)< ...

  6. HDU 4287 (13.08.17)

    Problem Description We all use cell phone today. And we must be familiar with the intelligent Englis ...

  7. 2014 BDTC 參会有感

    中国大数据技术大会(Big Data Technology Conference,BDTC)是眼下国内最具影响.规模最大的大数据领域的技术盛会. 大会的前身是Hadoop中国云计算大会(Hadoop ...

  8. 多线程程序 怎样查看每个线程的cpu占用

    可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令首先指定参数'H',显示线程相关的 ...

  9. Hacker(六)----黑客藏匿之地--系统进程

    windows系统中,进程是程序在系统中的依次执行活动.主要包括系统进程和程序进程两种. 凡是用于完成操作系统各种功能的各种进程都统称为系统进程: 而通过启动应用程序所产生的进程则统称为程序进程. 由 ...

  10. 1.Asp.net处理请求的流程

    .NET平台处理HTTP请求的过程大致如下: 1. IIS得到一个请求: 2.查询脚本映射扩展,然后把请求映射到aspnet_isapi.dll文件 3.代码进入工作者进程(IIS5里是aspnet_ ...