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服务器脚本

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

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

Linux系统下定时上传文件至FTP服务器脚本

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

[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: [确定]

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

Linux系统下定时上传文件至FTP服务器脚本

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

简单的vim操作命令

4.添加计划任务

命令:vi /etc/crontabLinux系统下定时上传文件至FTP服务器脚本

Linux系统下定时上传文件至FTP服务器脚本

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

相关推荐