【发布时间】:2020-01-12 22:50:42
【问题描述】:
两部分问题,
我正在运行一个执行第二个脚本的脚本。
我之所以这样设置,是因为我读到如果我将脚本放在/etc/init.d 目录中,它将在启动时运行它。(是真是假?)
我尝试在每行末尾添加>> LoopTriggerLogging.log,但日志文件中没有任何内容
所以我有第一个script如下
#!/bin/bash
/var/www/Dev/LoopTrigger.sh
exit
这会触发以下script 运行
#!/bin/bash
while true; do
# do some work
php /var/www/Dev/FindNearestDriverAndSendPush.php
php /var/www/Dev/ProcessCustomerPayment.php
php /var/www/Dev/ProcessDriversPayment.php
# write to LoopTriggerLogging.log
sleep 2 # sleep and repeat
done
我想要的是将命令与任何错误一起记录下来。我试图阅读一些关于此的内容,但在答案以及他们试图告诉用户的内容中迷失了方向。我在这方面还是新手并且正在学习,请定义任何命令或选项。我对最佳实践方案持开放态度。
另外,放入etc/init.d 目录会告诉脚本在启动时运行吗?
有没有办法在不占用命令行的情况下运行这个脚本,因为它是一个无穷无尽的脚本?
我的最终目标是让 3 个php 文件每 2 秒执行一次,并带有某种日志记录。
我在 Cron 上做了一些阅读,但似乎它不适用于这种类型的用例。
我也看过这个:
exec > logfile 2>&1(不知道这是做什么的)
set -x 让 bash 在执行之前打印每个命令
FOO=BAR(不知道这是什么意思)
echo $FOO(不知道这是什么意思)
【问题讨论】:
标签: php linux bash shell logging