微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为 cron 作业编写 bash 脚本的正确方法是什么

如何解决为 cron 作业编写 bash 脚本的正确方法是什么

我编写了一个应该由 cron 作业执行的 bash 脚本。但是根据 cron 输出,bash 脚本中的其中一行没有执行。

这是我的 bash 脚本

#! /bin/bash
/usr/bin/MysqL</home/elijah/Desktop/covid-19-management-tool/cron_job/import.sql
./home/elijah/Desktop/covid-19-management-tool/cron_job/clear

这是我在cron执行后得到的输出

X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20210205172001.F3C5FE221D@elijah-HP-255-G6-Notebook-PC>
Date: Fri,5 Feb 2021 20:20:01 +0300 (EAT)

/home/elijah/Desktop/covid-19-management-tool/cron_job/dbs.sh: line 3: ./home/elijah/Desktop/covid-19-management-tool/cron_job/clear: No such file or directory

--F3C5FE221D.1612545602/elijah-HP-255-G6-Notebook-PC--

对于我的 bash 脚本中的第 3 行,我想运行一个名为 clear 的可执行文件

有人请告诉我我应该如何在 shell 脚本中做到这一点,以便 cron 能够理解它。

解决方法

去掉 . 之前的 /home(除非你确实有以下目录结构):

/home/elijah/home/elijah/Desktop/covid-19-management-tool/cron_job/clear

. 使其成为相对路径,而它最有可能是绝对路径。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。