Linux系统下定时上传文件至FTP服务器脚本
环境: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服务器脚本的更多相关文章
- Linux: 通过命令行上传文件到ftp服务器
url -T fie-name ftp://server-address --user user:password
- .Net 上传文件到ftp服务器和下载文件
突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...
- java 上传文件到 ftp 服务器
1. java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...
- asp.net 服务器 上传文件到 FTP服务器
private string ftpServerIP = "服务器ip";//服务器ip private string ftpUserID = "ftp的用户名" ...
- Linux上F上传文件到FTP服务器
Linux上上传跟Windows上上传不一样,在Windows上测试没问题,但是放到Linux服务器上跑,上传的文件中文显示乱码.解决方案: FtpUtil.java红色标记处 package cn. ...
- Android 上传文件到 FTP 服务器
实现背景 近期接触到一个需求,就是将文件从Android系统上传到FTP服务器,虽然之前接触过FTP服务器,了解基本的使用流程,但是将此流程从使用习惯转化为代码实现还是有一定难度的.但是基本的流程还是 ...
- ftp配置 Laravel上传文件到ftp服务器
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask= dirmessage_enable=YES ...
- linux 系统filezilla无法上传文件 553 Could not create
做网站过程中遇见了很多问题,解决了但是解决方法过一段时间就会遗忘,整理出来以便以后查看. 响应: 553 Could not create file.错误: 严重文件传输错误 解决方案: 一.必须将站 ...
- WIN7系统 如何上传文件到FTP服务器中
https://zhidao.baidu.com/question/214644671.html
随机推荐
- Java迭代器深入理解及使用
Iterator(迭代器) 作为一种设计模式,迭代器可以用于遍历一个对象,对于这个对象的底层结构开发人员不必去了解. java中的Iterator一般称为“轻量级”对象,创建它的代价是比较小的.这里笔 ...
- RedHat安装GCC问题-解决依赖问题
RedHat Linux在安装gcc时需要cpp和cloog-ppl但是在安装cpp的时候需要这个依赖:libmpfr.so.1()(64bit) is needed by cpp-4.4.6-3.e ...
- Hive 3、Hive 的安装配置(本地derby模式)
这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可; $ vim hive-site.xml <configuration> <property> ...
- java项目获取路径的几种方式
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- [Cycle.js] Hyperscript as our alternative to template languages
Usually we use template languages like Handlebars, JSX, and Jade to create. One simple way we can cr ...
- 7. 稀疏表示之OMP,SOMP算法及openCV实现
一.前言 稀疏表示是自上世纪90年代开始,从人眼的视觉感受野获得启示,逐渐被人们所研究.现在已经发展为一种重要的信息表示方法.所谓稀疏表示是指,一个信号在过完备字典中,可以由少数个原子线性表达, 其数 ...
- linux中萌翻了的cowsay命令
想要让你的linux萌翻吗? 首先需要安装cowsay软件 命令如下:sudo apt-get update;sudo apt-get install cowsay 然后对其输入命令,默认情况下,动物 ...
- c#中的表达式
// 把变量和字面值(在使用运算符时,将它们统称为操作数)与运算符组合起来 // 就可以创建表达式,表达式是计算的基本构件 // 操作数可以是数值也可以是变量 + ; ; int num3 = num ...
- 线程:CountDownLatch同步工具
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 类似计数器,当计数器的值为0时,继续往下执行. package ch03; import java.util.R ...
- js数组去重,并统计最多项算法
从事了一段时间的前端开发,今天写了一个数组去重,并统计最多项的方法,目前只支持数组的项都是数字. 由于本人能力有限,希望能得到网友的指正!如有问题或者更好的实现思路,也欢迎大家和我讨论!代码如下: f ...