linux - 如何调试无法在 cron 上运行的 shell 脚本?
问题描述
我在下面有一个 shell 脚本。这已经可以通过 sh start_script.sh
但我希望它能够使用 cron 作业自动工作。已经使用chmod +x使其可执行
下面是 shell 脚本和 cron 作业:
2 * * * * /home/glenn/projects/database_dump/backup/script_backupMongoDB.sh
#!/bin/sh
TIMESTAMP=`date +%F-%H%M%S`
FILENAME=configurator_`date +%m%d%y%H`_$TIMESTAMP.tar.gz
DEST=/home/glenn/projects/database_dump/backup
SERVER=127.0.0.1:27017
DBNAME=siaphaji-cms
DUMPFOLDER=$DEST/$DBNAME
DAYSTORETAINBACKUP="7"
# DUMP TO DEST FOLDER
mongodump -h $SERVER -d $DBNAME --out $DEST;
# COMPRESS THE DUMPFOLDER AND NAME IT FILENAME
tar -zcvf $FILENAME $DUMPFOLDER
# DELETE DUMP FOLDER
rm -rf $DUMPFOLDER
find $DEST -type f -name '*.tar.gz' -mtime +$DAYSTORETAINBACKUP -exec rm {} +
解决方案
检查环境差异,尤其是每种情况下 PATH 变量的值(何时有效,何时无效)。
推荐阅读
- python - 在 python 字典中转换 2 个列表
- javascript - 使用 Mailchimp 的 API 将订阅者添加到列表
- python - 如何在一个序列化程序类中合并 django rest 框架中的模型
- oracle - 在 PL/SQL 中检查日期
- javascript - 反应本机错误!元素类型无效:应为字符串或类/函数,但得到:未定义
- javascript - 如何根据其中存在的图像动态增加 div 高度?
- java - 数据库中的 Sqlite 更新查询数据不更新 java gui 应用程序
- python - 如何反转字典项目并列出按公共值分组的键
- java - 我可以在 Cloud Firestore 的子集合中查询和检索文档的字段值吗?
- javascript - 使用 vanilla Javascript 将字符串列表发送到 ASP.net api 控制器