lftp -c " open 172.16.20.105; mount /aresoft/frd_dh/assets/ZDJZBF /aresoft/frd_dh/assets/ZDJZBF" Unknown command `mount'.
时间: 2023-07-05 10:31:39 浏览: 45
根据您提供的命令,看起来您想要在远程服务器上挂载一个目录,但是 lftp 不支持 mount 命令。如果您想要在远程服务器上挂载一个目录,可以使用 ssh 登录到服务器,然后使用 mount 命令完成挂载操作。例如:
```
ssh username@172.16.20.105
sudo mount /aresoft/frd_dh/assets/ZDJZBF /aresoft/frd_dh/assets/ZDJZBF
```
请注意,您需要具有足够的权限才能在远程服务器上挂载目录。
相关问题
centos用ftp服务把A服务器的/aresoft/frd_dh/assets/ZDJZBF目录挂载到B服务器的/aresoft/frd_dh/assets/ZDJZBF目录
您可以按照以下步骤在 CentOS 上使用 FTP 服务将 A 服务器上的 /aresoft/frd_dh/assets/ZDJZBF 目录挂载到 B 服务器上的 /aresoft/frd_dh/assets/ZDJZBF 目录:
1. 在 A 服务器上安装并配置 FTP 服务。您可以使用 vsftpd 作为 FTP 服务器,具体安装和配置方法可以参考 CentOS 官方文档或者其他教程。
2. 在 A 服务器上创建一个 FTP 用户,并将该用户的根目录设置为 /aresoft/frd_dh/assets/ZDJZBF 目录。您可以使用 useradd 命令创建用户,然后修改 /etc/passwd 文件中该用户的 home 目录为 /aresoft/frd_dh/assets/ZDJZBF。
3. 在 B 服务器上安装并配置 FTP 客户端。您可以使用 lftp 命令来挂载 FTP 目录,具体安装和配置方法可以参考 CentOS 官方文档或者其他教程。
4. 在 B 服务器上使用 lftp 命令连接 A 服务器,并将 /aresoft/frd_dh/assets/ZDJZBF 目录挂载到 B 服务器的 /aresoft/frd_dh/assets/ZDJZBF 目录。具体命令如下:
```
lftp -u username,password ftp://A服务器IP地址
mirror /aresoft/frd_dh/assets/ZDJZBF /aresoft/frd_dh/assets/ZDJZBF
```
其中,username 和 password 分别为 A 服务器上创建的 FTP 用户的用户名和密码,A服务器IP地址为 A 服务器的 IP 地址。
5. 等待 lftp 命令执行完成后,即可在 B 服务器上访问 /aresoft/frd_dh/assets/ZDJZBF 目录,该目录中的文件和子目录都来自于 A 服务器上的 /aresoft/frd_dh/assets/ZDJZBF 目录。
lftp_command = 'lftp -e "open ftp://username:password@ftp_server_address; mount --bind / /mnt/ftp"'.split()
这是一个字符串,通过 `split()` 方法将其拆分成了一个列表,列表中包含了需要执行的 lftp 命令。具体来说,拆分后的列表中包含了以下三个元素:
1. `'lftp'`
2. `'-e'`
3. `"open ftp://username:password@ftp_server_address; mount --bind / /mnt/ftp"`
其中,`'lftp'` 是 lftp 命令的可执行文件名,`'-e'` 是 lftp 命令的一个选项,表示执行指定的命令。`"open ftp://username:password@ftp_server_address; mount --bind / /mnt/ftp"` 是需要执行的 lftp 命令,其中,`open` 命令用于连接 FTP 服务器,`mount` 命令用于挂载 FTP 服务器到本地文件系统。这里使用了双引号将命令字符串括起来,是为了防止命令中包含空格等特殊字符导致命令执行失败。
拆分成列表的好处是可以方便地将命令传递给 `subprocess.run()` 方法执行,而不会因为命令中包含特殊字符而导致执行失败。