2010-06-18 11 views
6

Sabah hepsi,cron ile bir php betiği çalıştırarak, herhangi bir çıktıyı nasıl kaydedebilirim?

ben test edilmiş bir php komut dosyası var ve komut satırından aradığınızda iyi gidiyor.

Şimdi cron ile otomatikleştirmek istiyorum, dosyaya koyduğum çıktıları bir kayıt dosyasına nasıl girebilirim?

mesela (o olsun, böylece en otomatikman vb döndürülmüş)

sayesinde,

Greg

Senaryonun bazı basit yankı komutlar var ve varolan bir günlük dosyası içinde görünecek çıktı istiyorum
+0

UNIX tabanlı crons, işin çıkış (lar) ını iş kimliğine sahip kullanıcıya gönderecek. Diğer cevaplarda önerildiği gibi çıkış yönlendirmesiyle uğraşmak istemiyorsanız, bu otomatik e-postalara bakabilirsiniz. Günlük dosyasına eklemek için –

cevap

6

Cron komutu çalıştırmak için: böyle

/path/to/php -f /path/to/script.php >> /path/to/logfile.txt 
+0

'>>'. –

+0

Teşekkürler - log dosyası olarak/var/log/cron kullanırsam, bu iyi mi? Bu şekilde otomatik olarak arşivlenir, kırpılır vs. – kitenski

0

deneyin şey:

<?php 
function logToFile($filename, $msg) 
{ 
    $fd = fopen($filename, "a"); 
    $str = "[" . date("Y/m/d h:i:s", mktime()) . "] " . $msg; 
    fwrite($fd, $str . "\n"); 
    fclose($fd); 
} 

function logToMail($msg, $address) 
{ 
    $str = "[" . date("Y/m/d h:i:s", mktime()) . "] " . $msg; 
    mail($address, "Log message", $str); 
} 

function logToDB($msg, $type) 
{ 
    // open connection to database 
    $connection = mysql_connect("localhost", "joe", "pass") or die ("Unable to connect!"); 
    mysql_select_db("logdb") or die ("Unable to select database!"); 

    // formulate and execute query 
    $query = "INSERT INTO log (date, type, msg) VALUES(NOW(), '$type', '$msg')"; 
    mysql_query($query) or die ("Error in query: $query. " .mysql_error()); 

    // close connection 
    mysql_close($connection); 
} 
?> 
+0

Burada sorun, php komut dosyasının herhangi bir nedenden dolayı başarısız olması durumunda, günlüğe kaydetme yönteminin hiçbir zaman çalıştırılamayacağıdır. Yukarıdaki kabul edilen cevap, herhangi bir komut dosyasını çıktı dosyasına gönderecektir. –

İlgili konular