Linux &引用;不能';t stat远程文件:没有此类文件或目录";:使用*nix中的FTP-in-shell脚本获胜

Linux &引用;不能';t stat远程文件:没有此类文件或目录";:使用*nix中的FTP-in-shell脚本获胜,linux,bash,shell,ssh,ftp,Linux,Bash,Shell,Ssh,Ftp,我正在使用Bash脚本通过FTP备份我的web文件。正如标题所说,我有一个Ubuntu Web服务器,正在备份到一台Windows机器。我在Windows机器上有一个ssh程序和FileZilla服务器,可以将ssh和SFTP插入其中。脚本的核心如下所示: SRCDIR="C:\\Users\\Tech1\\testserverbackup" DATAIN="/var/www/html/" FILENAME="-r *" sshpass -e sftp -oBatchMode=no -b -

我正在使用Bash脚本通过FTP备份我的web文件。正如标题所说,我有一个Ubuntu Web服务器,正在备份到一台Windows机器。我在Windows机器上有一个ssh程序和FileZilla服务器,可以将ssh和SFTP插入其中。脚本的核心如下所示:

SRCDIR="C:\\Users\\Tech1\\testserverbackup"
DATAIN="/var/www/html/"
FILENAME="-r *"

sshpass -e sftp -oBatchMode=no -b - ${USER}@${LANHOST} << EOF
cd  ${SRCDIR}
lcd ${DATAIN}
mkdir $(date -I)
cd $(date -I)
put ${FILENAME}
bye
echo made it
EOF
sftp>       cd  C:\Users\Tech1\testserverbackup
Couldn't stat remote file: No such file or directory
我已经用ssh连接到文件夹中并使用sftp连接,所以我不确定问题出在哪里。另外,cd是本机windows命令,而不仅仅是FTP命令

你知道怎么回事吗?谢谢。

sftp>cd C:\Users\Tech1\testserverbackup
无法统计远程文件:没有此类文件或目录
这是因为FTP服务器不像Windows系统那样具有装载驱动器号的概念

连接到FTP时,您可以使用
pwd
来确定当前所在的目录:

sftp>pwd
/C/用户/技术1

…这表明,在您的环境中,FTP管理员将Windows
C:
驱动器映射到FTP服务器内名为
C
的常规文件夹(并将所有其他已装入的驱动器映射到文件夹)。

FTP主机不像Windows系统那样具有已装入驱动器的概念。如错误所示,通过FTP连接时,路径中没有包含
C:
的文件/目录。是的,整个路径可能不正确。当你在登录FTP时只键入
pwd
时,你的输出是什么?啊,很好。它是/C/Users/Tech1,所以我将使用它。谢谢你的帮助。啊,好的,很好,这很有意义。很乐意帮忙!是,
/
是顶级/根文件夹。在您的环境中,FTP管理员将Windows
C:
驱动器映射到FTP服务器中名为
C
的常规文件夹(并将所有其他已装入的驱动器映射到文件夹)。