bash - 文件不是通过 bash 脚本添加到 zip 中,而是在终端的命令行中工作
问题描述
我正在 cron 中运行一个脚本,并尝试通过以下代码在 zip 中添加一个文件,
#!/bin/bash
cd /home/mainfolder/cron
date=$(date --date=yesterday +%F)
FILE=/home/mainfolder/folder/$date.zip
if test -f "$FILE"; then
echo $date
else
wget -r -np -nH --user=USER --password=PASSWORD https://sercret-website.com/$date.zip -P /home/mainfolder/folder/
zip -ur $date.zip file.txt
mkdir temp
cp /home/mainfolder/folder/$date.zip /home/mainfolder/temp/
cd /home/mainfolder/temp/
fi
我的文件名是昨天的日期让我们说今天是 2019-12-18 (yyyy-mm-dd) 我的文件名是 2019-12-17.zip
当我在 bash sh -x script.sh 中运行时它不起作用当我在终端中正常运行时它运行良好
zip -ur 2019-12-17.zip file.txt
我正在使用 CentOS 服务器。
任何人都知道我做错了什么。
我尝试
#!/bin/sh != #!/bin/bash
#!/bin/sh
#!/bin/bash
没有任何工作
解决方案
我会date=$(date --date=yesterday +%F)
改为:
date=`date --date=yesterday +%F`
并将 zip 写为
zip -ur ${date}.zip file.txt
和shebang为:
#!/bin/sh -x
然后我会在 cron 日志文件中查找失败的原因。
推荐阅读
- python - 如何在 python 中的进程之间共享数据?
- alexa - 您可以在不经过意图的情况下将(状态)信息发布到 Alexa Skill 吗?
- c - 需要一个像 read() 这样的函数,它将整数数据读入缓冲区并获得与 read() 相同的缓冲区值
- javascript - 用于根据 HTML 文本框中的值输入日期的 JavaScript
- python - 如何获得关联对象的反向引用 - 即 user.follows() 和 user.followers()
- ios - Ionic iOS 13.2 错误,应用程序崩溃 - kill() 返回意外错误
- javascript - 无效语法未标记为(或未标记)?
- javascript - 用JS分页表时,Firebase数据库中的数据没有出现
- c# - 如何阻止newtonsoft json进行驼峰式处理
- java - 依赖注入的 Java 模块化