首页 > 解决方案 > Bash脚本,找不到文件

问题描述

我目前正在为我的 Centos 7 服务器制作一些脚本,只是为了简化拥有服务器的过程。我写了这个简单的脚本,但它找不到文件或类似的东西......

#!/bin/bash
TIME=`date +%b-%d-%y`            # This Command will add date in Backup File Name.
FILENAME=backup-$TIME.tar.gz    # Here i define Backup file name format.
SRCDIR=/imp-data                    # Location of Important Data Directory (Source of backup).
DESDIR=/backups           # Destination of backup file.
tar -cpzf $DESDIR/$FILENAME $SRCDIR 

HOST=34.77.147.135                    # 2
USER=backupuser                       # 3
PASSWORD=backup                       # 4
ftp -inv $HOST <<EOF                  # 5
user $USER $PASSWORD                  # 6
lcd /backups                   # 7
mput *.tar.gz                         # 8
bye                                   # 9
EOF
#END

我希望文件上传到给定的 FTP 服务器。但我得到了这样的回应:

local: # remote: #
local: #: No such file or directory
local: 8 remote: 8
local: 8: No such file or directory
221 Goodbye

标签: bash

解决方案


ftp -inv $HOST <<EOF                  # 5
user $USER $PASSWORD                  # 6
lcd /backups                   # 7
mput *.tar.gz                         # 8
bye                                   # 9
EOF

那些“评论”不是评论,它们是由<<EOF. 例如,您正在执行命令

mput *.tar.gz # 8

失败是因为没有名为#or的文件8


推荐阅读