标签: ftp

SSH - 一种在不打开单独的SFTP会话的情况下传输文件的方法?

不是一个编程问题,但与许多程序员有关......

假设我已经打开了另一台计算机的SSH会话.

remote:html avalys $ ls
welcome.msg index.html readme.txt
remote:html avalys $

是否有任何命令可以在我的远程shell中键入,它会立即将当前目录中的一个文件(例如welcome.msg)传输到我的本地计算机,即

remote:html avalys $ stransfer welcome.msg
获取/home/avalys/html/welcome.msg到welcome.msg
/home/avalys/html/welcome.msg 100%23KB 23.3KB/s 00:00
remote:html avalys $

我知道这样做的唯一方法是在SSH会话中打开并行SFTP会话和CD到我当前的目录,这是远程管理服务器时的真正PITA.

编辑:我知道使用反向sftp/scp连接的可能性,但这涉及更多的打字.如果我只能键入一些命令的名称(例如"stransfer"),以及我想要传输的文件,那就太棒了.

ftp ssh shell sftp openssh

12
推荐指数
2
解决办法
1万
查看次数

如果Perl尝试在正在上传的文件上调用move(),会发生什么?

有人正在将一个大小为10Mb的文件FTP到Linux服务器上的文件夹.当文件处于转换状态时,cron会唤醒并触发Perl脚本,该脚本旨在查看ftp文件夹并将其找到的任何内容移动到某个备用文件夹.我正在使用File :: Copy中move()函数.Perl进程实际上将文件重命名为其任务的一部分.这有关系,或者FTP不关心文件系统将文件描述为什么?

move()成功并移动部分文件,让FTP做什么?或者会移动失败并返回0?

linux ftp perl inode

12
推荐指数
2
解决办法
1398
查看次数

使用ftplib下载目录树

这不会下载子目录的内容; 我怎么能这样做?

import ftplib
import configparser
import os

directories = []

def add_directory(line):
 if line.startswith('d'):
  bits = line.split()
  dirname = bits[8]
  directories.append(dirname)

def makeDir(archiveTo):
 for dir in directories:
  newDir = os.path.join(archiveTo, dir)
  if os.path.isdir(newDir) == True:
   print("Directory \"" + dir + "\" already exists!")
  else:
   os.mkdir(newDir)

def getFiles(archiveTo, ftp):
 files = ftp.nlst()
 for filename in files:
  try:
   directories.index(filename)
  except:
   ftp.retrbinary('RETR %s' % filename, open(os.path.join(archiveTo, filename), 'wb').write)

def runBackups():

 #Load INI
 filename = 'connections.ini'
 config = configparser.SafeConfigParser()
 config.read(filename)

 connections = config.sections() …
Run Code Online (Sandbox Code Playgroud)

python ftp ftplib

12
推荐指数
5
解决办法
2万
查看次数

使用凭据连接ftp服务器

我正在编写一个使用带有凭据的ftp服务器的程序.我正在尝试从服务器检索目录列表但是当我到达该行时:

string line = reader.ReadLine();
Run Code Online (Sandbox Code Playgroud)

我得到的字符串只包含:"无法打开"主机:/ lib1 \"."

如果我尝试获取另一行,则抛出下一个异常:远程服务器返回错误:(550)文件不可用(例如,找不到文件,没有访问权限).

我肯定(使用另一个ftp应用程序)知道ftp服务器上存在'lib1'目录并且我的凭据(用户名和密码)是正确的.

这是我的代码:

 public class FTPClient
{
    public string UserName { get; set; }
    public string Password { get; set; }
    public string IpAddress { get; set; }
    public int Port { get; set; }

    public FTPClient(string _userName, string _password, string _address, int _port)
    {
        UserName = _userName;
        Password = _password;
        IpAddress = _address;
        Port = _port;
    }

    public void GetDirectoriesList(string _path)
    {           
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri("ftp://" + 
        IpAddress + _path)); …
Run Code Online (Sandbox Code Playgroud)

c# ftp ftpwebresponse

12
推荐指数
2
解决办法
5万
查看次数

如何在没有先保存文本文件的情况下在Ruby中进行FTP

由于Heroku不允许将动态文件保存到磁盘,我遇到了一个两难的境地,我希望你能帮我克服.我有一个可以在RAM中创建的文本文件.问题是我找不到允许我将文件流式传输到另一个FTP服务器的gem或函数.我正在使用的Net/FTP gem需要先将文件保存到磁盘.有什么建议?

ftp = Net::FTP.new(domain)
ftp.passive = true
ftp.login(username, password)
ftp.chdir(path_on_server)
ftp.puttextfile(path_to_web_file)
ftp.close
Run Code Online (Sandbox Code Playgroud)

ftp.puttextfile函数是需要物理文件存在的函数.

ruby ftp heroku

12
推荐指数
2
解决办法
7113
查看次数

如何使用ftp git push?

我想上传(仅使用ftp)我的服务器只更改.我在我的本地有一个工作的git存储库.但我无法弄清楚使用ftp的任何方式.

我可以使用git push发送其他主机,因为它允许ssh,但这个主机只允许ftp.

git ftp git-push

12
推荐指数
2
解决办法
1万
查看次数

使用资源分支进行HTTP上载

我正在为一些客户构建基于PHP的上传服务.我正在使用SWFUpload,以便我可以在上传时查看文件的进度.我已经完成了它,但是在我们向公众发布它之前,我遇到了最后一个问题.

我们的许多(几乎所有)客户都是基于Mac的,并且正在上传包含InDesign文件,字体,Illustrator文件等的文件集.大多数时候图像文件都可以,但偶尔(并且始终使用Type 1字体)该文件将被损坏,因为它正在丢失资源分叉.

我理解为什么会这样(从多叉系统转移到单叉系统),但我找不到任何优雅的解决方案.在我的研究中,到目前为止我找到的最佳答案是"让用户压缩它".我知道这很有效,但我们客户认为,要求他们压缩他们要发送的每一组文件是不合理的.

有没有更好的解决方案来保持这些资源叉活着?当然,我更喜欢直接javascript/php的解决方案,但是会选择基于flash或(最不优选)基于java的东西.

我对新解决方案的唯一要求是:

  • 查看上传进度
  • 用户无需手动压缩文件

这是关于我的系统的一些信息

  • Ubuntu 10.10服务器运行标准LAMP安装
  • PHP5
  • SWFUpload(wtv是最新版本)

php ftp upload fork

12
推荐指数
1
解决办法
394
查看次数

FTP-Server的递归list.files

有没有ftp版本的list.files(path, recursive=TRUE)

我想在这个FTP-Server上的子目录中获取ZIP-Archieves的所有URL

url <- "ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/hourly/"
Run Code Online (Sandbox Code Playgroud)

所以我想在这个目录中的所有文件的列表:
ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/hourly/wind/recent/ 以及
FTP:// FTP-CDC .dwd.de/pub/CDC/observation_germany/climate/hourly/air_temperature/historical / 等等

随着RCurl我设法下载这个目录的dirlist但不要让所有子目录中的所有拉链archieves的完整列表.除了通过目录循环并逐个获取dirlists之外的任何建议?

RCurl代码到目前为止:

dwd_dirlist <- function(url, full = TRUE){
  dir <- unlist(
    strsplit(
      getURL(url,
             ftp.use.epsv = FALSE,
             dirlistonly = TRUE),
      "\n")
    )
  if(full) dir <- paste0(url, dir)
  return(dir)
}
Run Code Online (Sandbox Code Playgroud)

ftp recursion r

12
推荐指数
1
解决办法
3199
查看次数

Ruby Net :: FTP进度条

有没有人知道在下载文件时从ruby的Net :: FTP库获取状态更新的方法?我正在尝试实现一个Web界面,该界面显示从远程ftp服务器下载文件时剩余百分比的进度条.

ruby ftp

11
推荐指数
2
解决办法
2510
查看次数

Sun RPC:传输二进制文件

我想将二进制文件传输到远程服务器.我在我的代码中使用SUN/ONC RPC(Linux上的rpcgen).我正在使用C.我已经为服务器和客户端编写了代码,它适用于文本文件,但是当我尝试传输二进制文件时,它表示文件在传输后已损坏.我将数据块存储在字符数组或XDR字符串中.我认为将数据存储为字符数组存在一些问题.有人可以告诉我这是什么问题吗?有人可以帮帮我吗?

我在这里附上我的代码片段以供参考,如果有人想看看我在做什么.

我的IDL:

const MAXLEN = 1024;

/*
 * Type for storing path
 */
typedef string filename<MAXLEN>;

/*
 * Structure for sending request. Expects the path of the file
 * and the byte number at which to start reading the file from
 */
struct request {
    filename name;
    int start;
};

/*
 * Type that represents the structute for request
 */
typedef struct request request;

/*
 * Type for storing a chunk of the file that is being
 * …
Run Code Online (Sandbox Code Playgroud)

c ftp rpc sunrpc

11
推荐指数
1
解决办法
7221
查看次数

标签 统计

ftp ×10

ruby ×2

c ×1

c# ×1

fork ×1

ftplib ×1

ftpwebresponse ×1

git ×1

git-push ×1

heroku ×1

inode ×1

linux ×1

openssh ×1

perl ×1

php ×1

python ×1

r ×1

recursion ×1

rpc ×1

sftp ×1

shell ×1

ssh ×1

sunrpc ×1

upload ×1