浏览 5604 次
锁定老帖子 主题:Linux定时的FTP上传任务
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-08-15
要定时将linux服务器的数据库日志文件和数据库备份文件上传到FTP上。 问题分析: 1、服务器分为两台,一台服务器在公司总部机房,一台分公司机房; 2、公司总部服务器采用Linux操作系统,作为FTP客户端 3、分公司服务器用Windows 2008操作系统,并且安装了Server-U作为FTP服务器端 4、两台服务器相对互相都是在外网 5、防火墙已经做好端口的配置 首先,自己上网找了些关于Linux上传文件到FTP的shell脚本: 脚本如下: backup_Ymd=`date +%Y-%m-%d` echo "start time" $backup_Ymd ftpServer=xxxxxxxxxxx(外网的域名) ftpUser=username(FTP用户名) ftpPasswd=password(FTP密码) remoteDir=/mysql_log(FTP上存放目录) localDir=/home/mysql/logs(本地目录) /usr/kerberos/bin/ftp -niv <<! open $ftpServer [port] user $ftpUser $ftpPasswd binary cd $remoteDir lcd $localDir mput *.zip bye ! 编写完脚本之后,执行此脚本,发现出现了一些异常情况: start time 2013-08-1410 Connected to xxxxxxxxxxx. 220 Serv-U FTP Server v6.4 for WinSock ready... 500 'AUTH': command not understood. 500 'AUTH': command not understood. KERBEROS_V4 rejected as an authentication type Remote system type is UNIX. Using binary mode to transfer files. 331 User name okay, need password. 230 User logged in, proceed. 200 Type set to I. 250 Directory changed to /mysql_log Local directory now /home/mysql/logs local: 2013-08-1007.zip remote: 2013-08-1007.zip 227 Entering Passive Mode (117,29,170,154,21,191) ftp: connect: Connection timed out 221 Goodbye! 提示出现“227 Entering Passive Mode (117,29,170,154,21,191)”就出现连接超时的提示,无法传输文件。于是上网搜索此提示的相关信息,是连接模式选择不对,应当选用主动模式。所以,将FTP的pasv模式关闭即可! #/bin/bash backup_Ymd=`date +%Y-%m-%d` echo "start time" $backup_Ymd ftpServer=XXXXXXXXX ftpUser=username ftpPasswd=password remoteDir=/mysql_log localDir=/home/mysql/logs /usr/kerberos/bin/ftp -niv <<! open $ftpServer 29 user $ftpUser $ftpPasswd passive #关闭被动模式 binary cd $remoteDir lcd $localDir mput $backup_Ymd.zip bye ! 注: 1、IE浏览器访问方式---------被动模式 2、Linux字符连接---------------被动模式 3、Windows字符连接---------主动模式 IE的设置只要在“工具------Internet选项-----高级-------使用被动FTP(去掉勾选)” Linux下更改为主动连接的方式: [root@localhost ~]# ftp XXXXXXXXX Connected to XXXXXXXXXX. 220 Serv-U FTP Server v6.4 for WinSock ready... 500 'AUTH': command not understood. 500 'AUTH': command not understood. KERBEROS_V4 rejected as an authentication type Name (center.gouyundong.net:root): username 331 User name okay, need password. Password: 230 User logged in, proceed. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (117,29,170,154,37,249) ftp> passive Passive mode off. ftp> ls 200 PORT Command successful. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-08-20
还要加上crantab设置定时任务
|
|
返回顶楼 | |
发表时间:2013-08-21
david_je 写道 还要加上crantab设置定时任务
忘记这茬了,我就是在上传这边碰到问题了,定时任务crontab那边倒是OK。呵呵~所以就忘记了 明天补上 |
|
返回顶楼 | |
发表时间:2013-08-26
ducklsl 写道 david_je 写道 还要加上crantab设置定时任务
忘记这茬了,我就是在上传这边碰到问题了,定时任务crontab那边倒是OK。呵呵~所以就忘记了 明天补上 是否在考虑一下使用python写一个 |
|
返回顶楼 | |