当前位置: 首页 > 知识库问答 >
问题:

当批处理文件作为cronjob运行时,如何在我的机器上生成日志文件

蓬祺
2023-03-14

我在我的Windows 7机器中以cronJob的身份运行一个批处理文件,我想要的只是我想创建一个日志文件,当cron Job与数据一起运行时,它显示在控制台中。数据是索引中存在的回显语句.php我已经导入到批处理文件中。帮我解决这个问题。索引.php

<?php
echo "Welcome" ;

$fileD = "Login_".date('Y-m-d').".csv";
$fp1 = fopen($fileD, 'a+');

//Getting the files from below mentioned folder
$iterator1 = new FilesystemIterator("C:/wamp/www/logs1");
$iterator2 = new FilesystemIterator("C:/wamp/www/logs2");
$filelist = array();
foreach($iterator1 as $GLOBALS['entry1']) 
{
    if (strpos($entry1->getFilename(), "p1") === 0) 
    {
        $filelist[] = $entry1->getFilename();
   echo $entry1;
    }
}
foreach($iterator2 as $GLOBALS['entry2']) {
    if (strpos($entry2->getFilename(), "p2") === 0) {
        $filelist[] = $entry2->getFilename();
    echo "<br>";
echo $entry2;
    }
}


$file1 = file_get_contents($entry1);
fwrite($fp1, $file1);

$file1 = file_get_contents($entry2);
fwrite($fp1, $file1); 
fclose($fp1);
echo "<br/>";
echo "Done";
 echo "<br/>";
 //Deletes log file present in the logs folder
$n1= "$entry1";
if(!unlink($n1))
 {
  echo ("Error deleting file1 $n1");
  }
   else
   {
   echo ("Deleted $n1");
  }
   echo "<br/>";

  $n2= "$entry2";
  if(!unlink($n2))
  {
  echo ("Error deleting file2 $n2");
   }
     else
  {
     echo ("Deleted $n2");
   }

 echo "<br/>";
    foreach (glob("*.csv") as $filename) 
    {
        echo "$filename size " . filesize($filename) . "\n";
        echo "<br>";

    }

echo "<br>";

//$insertionDate = substr($filename,6,10);

$servername = "localhost";
$username = "user";
$password = "";
$dbname = "stat";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$file = file_get_contents($fileD);
$count = preg_match_all("/,Login,/", $file, $matches);



echo "Csv first word ";
$insertionDate = substr($file,1,10);

echo "<br/>";
echo "Total Hits:" . $totalLines = count(file($fileD));
echo "<br/>";
echo "Login:" . $count;


// Insert the Total hits and the corresponding success and failure count
$sql = "INSERT INTO hit_s (HitDate, count, category,success,failure,tcount,ocount)
VALUES ('$insertionDate', $totalLines, 'Hits',$success,$fail,$treeCnt,$oCnt)";

if ($conn->query($sql) === TRUE) {
    echo "Total hits record inserted successfully \n";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}




$iterator = new FilesystemIterator("C:/wamp/www/Fed");
$filelist1 = array();
foreach($iterator as $GLOBALS['entry3']) 
{
    if (strpos($GLOBALS['entry3']->getFilename(), "*.csv") === 0) 
    {
        $filelist1[] = $GLOBALS['entry3']->getFilename();

    }

}
echo $GLOBALS['entry3']; 


echo "<br/>";
$entry3="$fileD";
$n3= "$entry3";
 if(!unlink($n3))
  {
  echo ("Error deleting $n3");
  }
else
  {
  echo ("Deleted $n3");
  }
  echo "<br/>";


$conn->close();


?>

在批处理文件中,我调用索引。php文件如下C:\wamp\bin\php\php5.4.16\php。exe C:\wamp\www\Fed\csv\index.php

共有1个答案

牛昱
2023-03-14

看起来syslog将为您工作:

$access = date("Y/m/d H:i:s");
syslog(LOG_WARNING, "Unauthorized client: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']);
 类似资料:
  • 我想创建从任务计划程序运行的批处理文件 要求: 少于30天的文件应从主文件夹移动到存档文件夹 然后应删除移动的存档文件 它应该存储所有日志条目 我已经编写了步骤脚本 步骤脚本 有人能告诉我如何使用上述两个命令创建日志文件吗。 日志文件应存储其移动的所有文件名

  • 我已经制作了我的Crud脚本,用于将数据库从本地服务器更新到Internet上,它通过任务调度程序以批处理文件运行,问题是任务调度程序没有创建日志文件。 如何使我的服务器创建日志文件与我的批处理文件运行与任务计划程序?我已经用脚本创建了批处理文件: 但是当我手动运行它时,它确实会创建日志文件。 请帮帮我...

  • 在为windows 7 64位运行jmeter(4.0版)批处理文件时,我发现以下错误:findstr未被识别为Internal或外部命令、可操作程序或批处理文件。找不到java可执行文件或版本我已将系统变量也设置为“C:\apache-jmeter-4.0\bin”,并检查是否安装了java版本和JDk(9.4版本)。

  • 运行批处理文件时出现以下错误。 log4j:WARN找不到记录器(devpinoyLogger)的附加程序。 log4j: WARN请正确初始化log4j系统。

  • 我想使用java程序运行一个批处理文件,当我双击. bat文件时,它要求我输入“D”,然后在C驱动器中创建一些文件夹,以下是. bat文件的内容: 我的Java代码如下: 它没有给我任何错误,但它既没有要求我输入任何值,也没有创建任何文件夹。 我想知道在java代码中我需要做什么,这样它会要求我输入' D ',然后输入。bat文件应该以正常流程继续。 感谢任何帮助。

  • 我正在使用spring批处理应用程序与读取器、写入器和处理器。文件名从batchjob传递到StepScope中的writer。当bean初始化时,我可以在BATCH_STEP_EXECUTION表中看到异常,如下 Spring批处理代码 我试过@lazy注释,但当服务器启动时,它仍然会抛出这个异常。我使用的是多节点集群,当服务器在BATCH_STEP_EXECUTION表中启动时,它会为每个节点