【问题标题】:I want to delete file from server by bash script using ftp我想使用 ftp 通过 bash 脚本从服务器中删除文件
【发布时间】:2020-01-09 22:57:58
【问题描述】:

我想通过 bash 脚本使用 ftp 删除文件

我使用下面的代码

 $file = xyz/ab/file.txt
 curl -v -u  $user:$pass ftp://server.com/$file -Q "DELE $file"

但它给出了这些错误

*入口路径是'/'
DELE xyz/ab/file.txt
* ftp_perform 以 SECONDARY: 0
结尾 * QUOT 命令失败,返回 550

如何使用单行 bash 脚本命令删除文件

【问题讨论】:

  • 您的代码不是语法上有效的shell脚本,不可能产生您报告的错误信息。

标签: bash curl ftp delete-file


【解决方案1】:

如何使用 curl 从 ftp 服务器中删除文件:

user="foo"
pass="bar"
dir="xyz/ab/"         # with trailing slash
file="file.txt"

curl -v -u "$user:$pass" "ftp://server.com/$dir" -Q "-DELE $file"

curl -v -u "$user:$pass" 'ftp://server.com' -Q "-DELE /$dir$file"

或不带前导/

curl -v -u "$user:$pass" 'ftp://server.com' -Q "-DELE $dir$file"

【讨论】:

    【解决方案2】:

    如果您想添加其他命令,可以使用ftp 命令。

    user=foo
    user=bar
    ftp -n 127.0.0.1 <<EOF
    quote USER $user
    quote PASS $pass
    delete xyz/ab/file.txt
    exit
    EOF
    

    但是,ftp 服务器上必须提供删除功能。如果我没记错的话,对于 vsftpd 你必须在 /etc/vsftpd.conf 中设置anon_other_write_enable=YES

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 2012-04-23
      • 2018-09-15
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      相关资源
      最近更新 更多