【发布时间】:2018-12-10 05:21:18
【问题描述】:
我以前从未创建过,也没有使用过 cron 作业,但我从关于 SO 的众多问题和答案中收集到的是,该过程相当简单,涉及以下内容:
- 使用 shell 命令创建 bash 文件
- 编辑 crontab
我在 SO 上找到了很多关于 cron 作业的问题和答案,但其中没有一个真正解释了语法。我也尝试在网上寻找可靠的解释,但无济于事。不过我确实找到了this page,,它非常清楚地解释了crontab 语句的时间和日期部分。
这是我目前的理解:
1.创建 bash 脚本,可以放在任何地方。
#!/bin/bash
cd /home/user/public_html/scrapy/projects/myproject/spiders
scrapy crawl mycrawler
#!/usr/bin/bash语句的意义是什么?为什么被注释掉了?
是否需要使用 shell 脚本作为代理来运行 Python 脚本?
2。通过crontab -e 命令编辑 crontab
我已经看到了很多关于这部分的不同建议,所以我将从几个不同的答案中列出几个例子。
PATH=/usr/bin
* 5 * * * cd project_folder/project_name/ && scrapy crawl spider_name
- 直接在
crontab -e中嵌入命令是否被认为是好的做法?
*/5 * * * * /usr/local/bin/python /home/Documents/SCRAPE_PYTHON/SCRAPE.py &>> /home/Desktop/log.txt
- 在这种情况下,第一条路径
/usr/local/bin/python的意义是什么?
他在回答中指出,&>> /home/Desktop/log.txt 是附加错误和其他输出的文件。
&>>是这样做的吗?这对每个 Linux 环境都通用吗?
*/2 * * * * /home/user/shell_scripts/cj-scrapy.sh
上面的代码怎么不包含两条路径?
将shell脚本放在
/home/user/scripts目录下是否存在潜在的安全漏洞?是否有一个特定目录通常存储此类 shell 脚本?
示例 #4
cPanel Cron 作业向导建议使用以下语法:
/usr/local/bin/php /home/user/public_html/path/to/cron/script
为什么crontab 推荐之间的所有差异?
我了解crontab 的时间和日期部分的语法,但有人可以解释一下其余部分的正确语法吗?
【问题讨论】:
-
有人能解释一下你为什么投票结束这个问题吗?
-
最接近的原因是“请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次提出多个不同的问题。”这是一篇文章中的 10 个问题,外加一个非常广泛的“谁能解释 shell 语法”,这两个问题都不适用于 StackOverflow 的格式。将其拆分为单个问题(最好先用谷歌搜索,因为“什么是#!/usr/bin/bash”之类的问题很容易回答)
-
这里有太多不同的问题。不可能提供一个清晰简洁的答案。因“过于宽泛”而被标记。
-
@MiguelOrtiz 感谢您的解释,尽管我在 SO 的其他地方看到过很多类似的问题?