Cron çıktısını, adında zaman damgası olan bir dosyaya gönderme


37

LAMP kurulumunda böyle bir crontab var:

0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1

Bu, dosyanın çıktısını cron.log dosyasına yazar . Ancak, yeniden çalıştığında, daha önce dosyada olanların üzerine yazar.

Dosya adında zaman damgalı bir dosyaya cron çıktısını nasıl alabilirim ?

Örnek bir dosya adı şöyle olurdu: 2010-02-26-000000-cron.log

Bir tür zaman damgası olduğu sürece formatı pek umursamıyorum.

Şimdiden teşekkürler.


8
Eğer istemiyorsanız $HOME/cron.logüzerine yazılır olmak, kullanmak >>değil>
Dave Cheney

Yanıtlar:


65

Deneyin:

0 0 * * * /some/path/to/a/file.php > $HOME/`date +\%Y\%m\%d\%H\%M\%S`-cron.log 2>&1

İsterseniz tarih biçimiyle oynayın; Yukarıdaki %gibi herhangi bir şekilde kaçtığınızdan emin olun \%.


Genelde 0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-tarih + \% Y \% m \% d \% H \% M \% S.log
Kristian

Biraz daha okunabilir ihtiyacınız olursa, deneyin: date +\%Y\ \%m\ \%d\ \%H:\%M:\%S-cron.log
DevilCode

4
@DevilCode, evet, dosya isimlerindeki boşluklar Unix'te çok geleneksel olmasa da. Tire veya alt çizgi daha iyi bir seçenek olabilir: date +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log.
fisyon

1
Bu garip kaçış karakterleri her zaman beni yakalar. Hatırlatma için teşekkürler!
Tony-Caffe

13

Burada açıklanan şekilde zaman damgasını kullanarak her şeyi aynı dosyaya kaydetmenizi şiddetle tavsiye ederim .

Kaldır

2> ve 1

ve (yukarıdaki linkte açıklandığı gibi) günlük dosyasına kaydetmeden önce zaman damgası betiği ile çalıştırın.


6

Çıktınızı aşağıdaki şekilde yaparak günlük dosyasına da ekleyebilirsiniz:

0 0 * * * /some/path/to/a/file.php >> $HOME/cron.log 2>&1

0

Komut dosyasını bu şekilde değiştirdim:

`/bin/date +\%Y\%m\%d`.log

-2

Bu sorunu çözdüm; sadece date komutundan önce tarih yolunu (/ bin / date) ekleyin.


2
Lütfen daha fazla bilgi ve örnek ekleyin.
Danijel

-2
@daily /some/path/to/a/file.php 2>&1 > $HOME/$(date +\%Y\%m\%d\%H\%M\%S)-cron.log

5
Bunun çok fazla açıklamaya ihtiyacı var.
Sven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.