gpt4 book ai didi

php - 在 Linux 中记录脚本命令和错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:30 25 4
gpt4 key购买 nike

2 部分问题,我正在运行一个执行第二个脚本的脚本。我以这种方式设置它,因为我读到如果我将脚本放在 /etc/init.d 目录中,它将在启动时运行它。(对还是错?)

我尝试在每行末尾添加 >> LoopTriggerLogging.log 但日志文件中没有任何内容

所以我有一个第一个脚本如下

#!/bin/bash

/var/www/Dev/LoopTrigger.sh

exit

这会触发以下脚本运行

#!/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(不知道这是什么意思)

最佳答案

if I put a script in the /etc/init.d directory it will run it at start up.(true or false)

正确。如果您在 init.d 中放置一个脚本,那么该脚本将在每次启动时运行。

My ultimate goal is to get the 3 php files to execute every 2 seconds

根据您的 php 脚本运行所需的时间,您正在使用大约每 2 秒运行一次的正确方法。 Crontab 在至少一分钟后运行,所以这不是一个选项。

I have tried adding >> LoopTriggerLogging.log at the end of each line but nothing comes out in the log file

您可以在您的第一个脚本中使用 /var/www/Dev/LoopTrigger.sh >> LoopTriggerLogging.log 这样无论何时运行它都会

  1. 第一次创建一个文件,下次追加内容。
  2. 将第二个脚本的所有日志推送到文件中。

注意:由于日志将继续附加到单个文件,因此该文件在某个时间点会变得非常大,因此请确保您妥善处理它。

关于php - 在 Linux 中记录脚本命令和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com