不是一个编程问题,但与许多程序员有关......
假设我已经打开了另一台计算机的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"),以及我想要传输的文件,那就太棒了.
有人正在将一个大小为10Mb的文件FTP到Linux服务器上的文件夹.当文件处于转换状态时,cron会唤醒并触发Perl脚本,该脚本旨在查看ftp文件夹并将其找到的任何内容移动到某个备用文件夹.我正在使用File :: Copy中的move()函数.Perl进程实际上将文件重命名为其任务的一部分.这有关系,或者FTP不关心文件系统将文件描述为什么?
将move()成功并移动部分文件,让FTP做什么?或者会移动失败并返回0?
这不会下载子目录的内容; 我怎么能这样做?
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) 我正在编写一个使用带有凭据的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) 由于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函数是需要物理文件存在的函数.
我想上传(仅使用ftp)我的服务器只更改.我在我的本地有一个工作的git存储库.但我无法弄清楚使用ftp的任何方式.
我可以使用git push发送其他主机,因为它允许ssh,但这个主机只允许ftp.
我正在为一些客户构建基于PHP的上传服务.我正在使用SWFUpload,以便我可以在上传时查看文件的进度.我已经完成了它,但是在我们向公众发布它之前,我遇到了最后一个问题.
我们的许多(几乎所有)客户都是基于Mac的,并且正在上传包含InDesign文件,字体,Illustrator文件等的文件集.大多数时候图像文件都可以,但偶尔(并且始终使用Type 1字体)该文件将被损坏,因为它正在丢失资源分叉.
我理解为什么会这样(从多叉系统转移到单叉系统),但我找不到任何优雅的解决方案.在我的研究中,到目前为止我找到的最佳答案是"让用户压缩它".我知道这很有效,但我们客户认为,要求他们压缩他们要发送的每一组文件是不合理的.
有没有更好的解决方案来保持这些资源叉活着?当然,我更喜欢直接javascript/php的解决方案,但是会选择基于flash或(最不优选)基于java的东西.
我对新解决方案的唯一要求是:
这是关于我的系统的一些信息
有没有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) 有没有人知道在下载文件时从ruby的Net :: FTP库获取状态更新的方法?我正在尝试实现一个Web界面,该界面显示从远程ftp服务器下载文件时剩余百分比的进度条.
我想将二进制文件传输到远程服务器.我在我的代码中使用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)