背景:
有些时候可能会遇到,不定时的将新新产生的文件(不论大小和多少),传输到另外一台机器。比如说1、每天使用新的备份集做数据库恢复。2、或者实时将新产生的归档日志传输到另一台机器上。这样我们就可以使用搭建ftp和自动作业的方式来提高效率。
一、linux下搭建ftp的方式:
find /u01/oracle/archive -mmin -60 -name '*828492302.dbf' -exec cp -f '{}' /alogbak \;
ftp -n 172.10.10.10<< EOF
user root manager
cd /backup
prompt
mput *.dbf
bye
EOF
cd /alogbak
rm -rf /alogbak/*.dbf
有些时候可能会遇到,不定时的将新新产生的文件(不论大小和多少),传输到另外一台机器。比如说1、每天使用新的备份集做数据库恢复。2、或者实时将新产生的归档日志传输到另一台机器上。这样我们就可以使用搭建ftp和自动作业的方式来提高效率。
一、linux下搭建ftp的方式:
1、检查vsftp和ftp所需的安装包
[root@ogg1 ~]# rpm -aq | grep ftp
tftp-server-0.49-2
lftp-3.7.11-8.el5
ftp-0.17-38.el5
vsftpd-2.0.5-28.el5
2、修改相应的配置文件
/etc/vsftpd/vsftpd.conf //主配置文件
/etc/vsftpd/ftpusers //被禁止登录FTP的用户文件
/etc/vsftpd/user_list //允许登录FTP的用户文件
[root@ogg1 vsftpd]#vi /etc/vsftpd/vsftpd.conf
在末行模式下,使用 / 查询修改一下参数,vi编辑器中的搜索使命是斜杠“/”,然后输入要查找的内容,回车确定。
chroot_list_enable=NO //限制访问自身目录将YES改成NO
anonymous_enable=NO #禁止匿名访问
ascii_upload_enable #允许使用ascii码上传
ascii_download_enable #允许使用ascii码下载
--userlist_deny=NO #(这条需手动添加到最后)使用FTP用户表,表里没有的用户需要
[root@ogg1 vsftpd]# pwd
/etc/vsftpd
[root@ogg1 vsftpd]#vi /etc/vsftpd/user_list
[root@ogg1 vsftpd]#vi /etc/vsftpd/ftpusers
屏蔽root
#root
3、启动ftp
service vsftpd restart
只启动完还不行,还要给它添加开机自动启动,chkconfig vsftpd on
二、使用自动作业上传文件到ftp
介绍:170.10.10.10为ftp服务器,/backup为ftp上的文件夹,/u01/oracle/archive为当前服务器的一个文件夹,/alogbak为一个临时中转文件夹
脚本解释:首先将60分钟以内的/u01/oracle/archive文件夹下的文件复制到中转文件夹/alogbak,接着,再将该文件下的所有内容上传至ftp的/backup,最后清空中转文件夹中以dbf结尾的文件。
[root@gzhtyy01 ~]# cat /alogbak/autoftp.sh
find /u01/oracle/archive -mmin -60 -name '*828492302.dbf' -exec cp -f '{}' /alogbak \;
ftp -n 172.10.10.10<< EOF
user root manager
cd /backup
prompt
mput *.dbf
bye
EOF
cd /alogbak
rm -rf /alogbak/*.dbf