我正在使用Bash脚本通过FTP备份我的web文件。 正如标题所说,我有一个Ubuntunetworking服务器,并备份到Windows机器。 我在Windows机器上有一个ssh程序和FileZilla Server,并且可以将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:UsersTech1testserverbackup Couldn't stat remote file: No such file or directory
我已经ssh进入文件夹和sftp'd,所以我不知道是什么问题。 AFAIK,cd是本地windows命令,不仅仅是FTP命令。
在Bash脚本中指定pathvariables
如何在$ PWD中添加空间转义
为什么我的程序的核心转储总是零字节,在Linux上安装的NTFS分区上运行?
为什么这个shellvariables设置不正确?
在Linux中,如何在空闲时间之后将用户注销,即使他们还在程序中
任何想法出了什么问题? 谢谢。
AWK如何取代IF?
推荐的方式批准stdin行到另一个重复的命令,如xargs,但通过stdin而不是参数?
为什么/ cat / urandom挂了我的bash脚本?
sftp> cd C:UsersTech1testserverbackup Couldn't stat remote file: No such file or directory
这是由于FTP服务器没有像Windows系统那样的挂载驱动器的概念。
您可以在连接到FTP时使用pwd来确定您当前所在的目录:
sftp> pwd /C/Users/Tech1
…这表明在您的环境中,FTP管理员将Windows C:驱动器映射到FTP服务器中的常规文件夹(称为C (并将所有其他装入的驱动器映射到文件夹)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。