Shell脚本找不到文件

用户名

您好,我正在尝试编写一个简单的Shell脚本以在cronjob中使用,以通过FTP将网站文件的备份存档复制到远程服务器。

当我手动手动输入文件名时,下面的脚本有效,但是使用指定的日期和文件名作为变量,它返回的结果是找不到“ .tar.gz”,就好像忽略了文件名的第一部分一样。 。

如果有人可以告诉我我要去哪里错了,我将不胜感激。

#!/bin/sh
NOW=$(date +"%F")
FILE="$NOW_website_files.tar.gz"

# set the local backup dir
cd "/home/localserver/backup_files/"

# login to remote server

ftp -n "**HOST HIDDEN**" <<END
user "**USER HIDDEN**" "**PASSWORD HIDDEN**"
cd "/backup_files"
put $FILE
quit
END
fedorqui'停止伤害'

这是因为它正在寻找一个NOW_website_files不存在的变量名,因此生成的文件名的计算结果为.tar.gz

要解决此问题,请执行以下操作:

#!/bin/sh
NOW=$(date +"%F")
FILE="${NOW}_website_files.tar.gz"
       ^   ^

代替

FILE="$NOW_website_files.tar.gz"

这样,它将把变量连接$NEW_website_files.tar.gz文本上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章