ftp上传

原创 2015年11月20日 18:20:10

项目中要使用ftp上传文件,在linux下运行,思路是由加一个模块,定时读取上传任务,然后调用脚本上传文件

将工作中遇到的问题备忘一下。

1、linux下安装ftp服务

网上有很多方法,我用的是unbantu,用

全新安装:apt-get install vsftpd,重新安装:apt-get --reinstall install vsftp,卸载并清除配置文件:apt-get -purge remove vsftp

我在安装的过程中,服务器能访问外网ip,但访问不了域名,这是没配置域名服务器,在/etc/resolv.conf文件中增加

nameserver 8.8.8.8(也可用8.8.4.4,这些是谷歌的域名解析服务器)

安装后要配置用户和组

首先创建用户组 testFTP的主目录

groupadd test

mkdir /tmp/test

然后创建用户

useradd -G test -d /tmp/test -M usr1

useradd -G test -d /tmp/test -M usr2

设置用户密码

passwd usr1

然后会提示输入新密码,再确认一次就设置好密码了

接着改变文件夹的属主和权限

chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1

chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

ftp默认端口是21,如果要修改端口,在vsftpd.conf 文件中增加listen_port=2121(这是你想要设置的端口号)

要实现上传除了目录有权限,还得在配置文件中write_enable=YES要打开

详细可参考:

http://www.linuxidc.com/Linux/2007-10/8062p3.htm

服务的启动、重启和停止

service  vsftpd start,service vsftpd restart,service vsftpd stop


解决vsftpd的530 Login incorrect错误

在etc下面有个pam.d文件夹,进去打开vsftpd这个文件,里面对之前的用户进行了限制,将里面对应的限制注释掉,问题解决。

227原来安装过vsftp,后来重新安装系统,安装vsftp总提示530
修改/etc/pam.d/vsftpd文件,屏蔽下面2行(红色),重启服务后OK

# Standard behaviour for ftpd(8).
#auth   required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed


# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.


# Standard pam includes
@include common-account
@include common-session
@include common-auth
#auth   required        pam_shells.so

2、windws下使用serv-u比较方便

windows下的资源管理器下看不到ftp服务器上的文件,要在浏览器(不是资源管理器)的工具/internet选项/高级下,将启用FTP文件夹视图选中

3、登录ftp服务器

使用不同的服务器返回的代码是相同的,但文字有区别,比如登录成功,在linux下的server返回了230 Login successful.用win下返回了230 User logged in, proceed.

可以使用 || 进行2个条件的判断,

if [ "${RESULT_CON_WIN}" = "${SUCC_CON_WIN}" ] || [ "${RESULT_CON_LINUX}" = "${SUCC_CON_LINUX}" ]

注意 [ ]要有空格,

如果要判断一个字符串中是否有别一个字符串,可以这样

if [[ $RESULT == *$SUCC* ]]

这样可以c++调用脚本system可以得到返回值,判断是否成功

4、sqlite3数据库中有timespan类型的字段,

想用比较大小的sql放到xml中,然后根据id得到sql,但是将 < 放到xml中会破坏xml的结构,读不到的别的sql了,用转义字符也不行,别的id能读到,本id的sql读不出来。

不过原来的sql有使用转义的sql,要看一下怎么处理的。

这样只好将日期取出来,放到tm结构中,用mktime转换成time_t,然后与当前的时间比较


FTP上传问题:FTP上传不了文…

原文地址:FTP上传问题:FTP上传不了文件,FTP上传错误代码汇总作者:百度优化排名吧FTP上传问题:FTP上传不了文件,看下错误提示! ==============================...
  • javazilu
  • javazilu
  • 2017-04-19 14:38:15
  • 1333

大文件上传之FTP文件上传

 我想很多人都知道.net自带的上传控件是不支持大文件上传的,默认情况下是4M,当然你可以通过配置WEB.CONFIG来增大上传大小,但是会影响服务器的性能.这里就大文件上传提供一个解决方案,就是采用...
  • xiao_jun_0820
  • xiao_jun_0820
  • 2007-09-27 15:12:00
  • 4425

bat 进行FTP 上传

bat 往ftp上Receive文件夹上传: ftpServerIP:192.168.0.6 ftpUserID:admin ftpPassword:123! 思路: 循环bat 所在的文件夹, ...
  • CsethCRM
  • CsethCRM
  • 2012-11-02 10:07:58
  • 6969

linux 下 修改ftp上传文件目录

[root@localhost local]# chown ftp用户名 ftp上传的文件夹 [root@localhost local]# chgrp ftp用户名 ftp上传的文件夹 ...
  • haidong_IT
  • haidong_IT
  • 2015-05-13 10:53:46
  • 3192

ftp命令行下,为什么不能上传目录?

补充: $ ll total 1048 drwxrwxr-x  2 clt clt    4096 Jan 13 09:51 clt_job -rw-rw-r--  1 clt clt 1054720...
  • suyu_yuan
  • suyu_yuan
  • 2016-02-15 11:05:05
  • 3688

ftp的简单使用-上传失败

1、安装 apt-get install vsftpd 2、设置上传权限 将write_enable=yes的注解去掉普通用户即可上传。 如果想要root用户也可以上传的话,需要将ftp的黑名...
  • lzp158869557
  • lzp158869557
  • 2017-03-07 22:09:22
  • 1271

使用bat上传FTP文件

演示使用bat来上传FTP文件,并判断是否上传成功
  • jxw_0017
  • jxw_0017
  • 2017-04-10 11:24:15
  • 342

Java FTP上传文件工具类

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import...
  • zmx729618
  • zmx729618
  • 2016-07-11 14:38:53
  • 3079

Java中通过FTP上传和下载

一个JAVA实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码对编写JA...
  • qq_22260641
  • qq_22260641
  • 2017-04-26 09:24:12
  • 1817

IE 浏览器 ftp上传

在上传文件到主机上,一般我们使用的方式是主机控制面板和专业的ftp软件(cuteftp),但是我们也可以通过IE浏览器实现FTP上传。或者说是通过 我的电脑 实现FTP上传。方法一:通过IE浏览器实现...
  • sqk1988
  • sqk1988
  • 2011-03-20 09:43:00
  • 9482
收藏助手
不良信息举报
您举报文章:ftp上传
举报原因:
原因补充:

(最多只允许输入30个字)