- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我几乎一整天都在尝试找到解决这个问题的方法,到处搜索,搜索这个论坛几个小时,但我找不到问题出在哪里。我必须按小时解析应用程序日志文件,然后将每小时文件(包含大约 100,00 行)传输到 remore 服务器以进行数据库上传。出于安全原因,FTP 的使用被阻止,所以我通过 sftp 使用 lftp 进行文件传输,因为脚本将从 cron 运行。
问题是通过 PUT/MPUT 命令上传文件时 sftp 抛出错误“put: '/home/applogs/ACCESS/access_log*: No such file或目录”。我正在使用“*”以便传输任何名称为 access_log 的文件。如果我输入完整的文件名(即;access_log_10-06-2013_15_53_46.txt),那么脚本就可以完美运行,但是如果我使用“access_log*”,那么系统将找不到该文件!!!我尝试了 PUT 和 MPUT。
如果有人能提供帮助,那将是一个很大的帮助。下面是我的文件传输部分的代码:
#!/bin/bash
IP=**********
USER=********
PASS=********
SRC='/home/applogs/ACCESS/'
DST='/home/db/INPUT/'
###### get system time ######
EXECU_TIME=`date '+%d-%m-%Y_%H_%M_%S'`
###### Rename file with system timestamp ######
mv access_log* access_log_$EXECU_TIME.txt
###### Change file permission ######
chmod 774 access_log_$EXECU_TIME.txt
##### Start file transfer
lftp -u ${USER},${PASS} sftp://${IP}<<EOF>lftplog.txt
cd ${DST}
lcd ${SRC}
set net:timeout 30
set ftp:ssl-allow no
put access_log*
quit
EOF
源系统信息:GNU Linux 2.6.9-55
目的地的系统信息:GNU Linux 2.6.39-200.24.1
最佳答案
试试 mput access_log*
你需要告诉 lftp 不要在 mput 上要求确认:
lftp -i -u ${USER},${PASS} sftp://${IP}<<EOF>lftplog.txt
cd ${DST}
lcd ${SRC}
set net:timeout 30
set ftp:ssl-allow no
mput access_log*
quit
EOF
我希望你只有一个 access_log.* 文件可以“放”
关于linux - lftp 通过 sftp,上传时找不到文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023187/
只有在今天(我运行 LFTP 的同一天)创建了该文件时,如何让 LFTP 从远程服务器下载该文件? 最佳答案 使用镜像。 它有这个 --newer-than=SPEC 选项来只下载比指定时间更新的文件
我不知道如何使用 lftp 仅使用命令行下载和删除远程文件。 使用 bash 也可以。 什么是标志和完整的命令行?我所能弄清楚的就是 mirror 命令,但这会在远程服务器上留下文件。 最佳答案 终于
lftp可以获取符号链接(symbolic link)指向的文件,但是如果这些文件位于符号链接(symbolic link)所代表的目录中,是否可以获取这些文件?例如,我希望在以下位置获取文件 ftp
我正在使用以下命令来设置 lftp 命令的超时,以便如果服务器不可用或不接受任何新连接,该命令将在 10 秒后结束。 lftp -e 'set ftp:passive-mode true; set n
当我尝试连接到已关闭的主机时,我收到以下消息: cd `sftp://example.com/tmp' [Delaying before reconnect: 30] 每次尝试后,延迟都会增加。我发现
我似乎无法在 Ubuntu 服务器上将 LFTP 与需要正确身份验证的代理一起使用。当我将它与不需要用户名/密码的代理一起使用时,一切看起来都很好: lftp lftp :~> set http:pr
我似乎无法将 LFTP 与需要在我的 Ubuntu 服务器上正确验证的代理一起使用。当我将它与不需要用户名/密码的代理一起使用时,一切似乎都很好: lftp lftp :~> set http:pro
我正在尝试使用如下脚本运行 lftp: $ lftp -f deploy.scp 但是我想在 deploy.scp 中为 l/p 使用环境变量,如下所示: open -u $FTP_USER,$FTP
我有这行代码: #!/bin/bash USER="root" PASS="sjkndkfjnweif" SERVER="192.168.1.1" SOURCE="/var/www/a1/" TARG
在使用 lftp 时,当 xfer:log 设置为“yes”时,它会将文件传输记录到 ~/.lftp/transfer_log。 同时运行两个lftp实例会发生什么?日志文件会不会混淆? 有没有办法改
如果目录不存在,我想使用 LFTP 创建一个目录。应该是“一行”: 这已经有效了: lftp -c "open -u user,pass server; mkdir/test lftp -c "ope
利用了 bash 和 lftp 的自动登录功能 lftp 支持 ftp ssh 等多种登录协议 复制代码 代码如下: #!/bin/bash echo "script start a
我使用 lftp 将文件从 Cloud 9 IDE 传输到远程主机。最近,它似乎停止了工作。我已经向主人提出了这个问题,他们认为它工作正常。事实上,我可以通过 FileZilla 和一个简单的浏览器连
我正在尝试将公共(public) FTP 镜像到本地目录。当我使用 wget -m {url} 时,当我使用 lftp open -u user,pass {网址}; mirror 然后 lftp 在
我写了一个脚本,可以一次同步多个服务器。我的问题之一是我无法让 LFTP 保留初始文件修改时间。所以基本上,它总是上传所有文件,而只有一些文件发生了变化。 您知道如何强制LFTP在下载或上传时保留文件
我正在使用 lftp 将文件从本地传输到仅允许 SFTP 访问的远程服务器。 我使用以下语法来传输文件: lftp -c "open -u $UN,$Pass sftp://$Server ; mir
我可以将ftp服务器的用户名/密码对保存在某个本地配置文件中,以便lftp在连接到该服务器时自动找到它们吗? 背景:我有一个脚本,供具有不同用户名/密码对的多个用户使用,以将某些生成的内容从存储库同步
有没有用Java编写的LFTP客户端?我需要使用 FTP 将现有应用程序迁移到 LFTP,但限制是使用纯 Java。 提前致谢。 最佳答案 LFTP 是一个程序,而不是协议(protocol)/服务器
我正在尝试使用 LFTP 从服务器上下载新文件,而且似乎运行良好。但是,每次运行脚本时,都会收到“未知命令 `;'”错误,然后是回显“下载完成”。我已经挖掘了大量资源,但似乎没有发现任何错误,这是脚本
我一直在努力寻找一种方法来使用 mget 并仅使用某些文件扩展名。 我使用了以下命令(如果我离开 *.csv 就可以正常工作) lftp -e "set xfer:clobber true;mget
我是一名优秀的程序员,十分优秀!