Günlükleri zaman damgalı bir crontab'a ekleme


9

Crontab'da günlük yedekleme betiği planladım. Şimdi cron betiği çalıştırdığında, durum aşağıda gösterildiği gibi bir günlük dosyasına kaydedilir.

0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1  

Şimdi, cron bir komut dosyası yürüttüğünde günlüğün içeriği her seferinde yenilenir. Bu yüzden, içeriğin yürütülen sürenin zaman damgası ile aynı dosyaya eklenmesini ve mevcut içeriklerle birlikte her seferin içeriğinin altında olmasını istiyorum. Bunu nasıl yapabilirim.


Crontab'ınızdaki "%" karakterinden kaçmayı unutmayın! +%d-%m-%y/%H:%M:%S+\%d-\%m-\%y/\%H:\%M:\%S
Şurada

Yanıtlar:



5

Bir dosyada zaman damgası nasıl alınır

Bir dosyaya zaman damgası eklemek için daha fazla ayrıntı için datebkz man date. Örneğin, terminalde kullanırsanız,

$ date +%d-%m-%y/%H:%M:%S
19-12-13/09:14:42

Çıktı biçimindedir dd-mm-yy/hour:min:sec

Zaman damgasını bir dosyaya koymak istiyorsanız şunu kullanın:

date +%d-%m-%y/%H:%M:%S > filename

Yönlendirme

Kullanırsanız date +%d-%m-%y/%H:%M:%S > filename, tarih dosyaya kaydedilir, ancak komutu her kullandığınızda tarihin üzerine yazılır. Varolan bir dosya kullanımına eklemek için,

date +%d-%m-%y/%H:%M:%S >> filename

Mevcut dosyanızın sonuna son yürütme çıktısını ekler.

Davanda ne yaparsın

Aşağıdaki satırı /home/backup.sh,

date +%d-%m-%y/%H:%M:%S

Ve crontab'da aşağıdakileri kullanın,

0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1

Bence yukarıdaki değişiklik istediğinizi yapmalı.


Kabul edilen cevap bu olmalı
Dominik

1

(Debian Jessie'de) Paketin bir tsparçası olan komutu kullanın moreutils. Örneğin:

0 0 * * * /home/backup.sh | ts '[%Y-%m-%d %H:%M:%S]' > /home/groupz/db-backup/fbackup.log 2>&1  

Bu, zaman damgasını çıktının her satırına yerleştirir ve günlüğünüze kaydeder.


1
Benim için çalışmadı, Ubuntu 16.04 kullanıyorum. Ben yüklümoreutils
Hamam Samuel'in

0

Bir kabuk komut dosyası çalıştırdığınız için, neden bir satır eklemiyorsunuz?

some ./script    
echo `date -u `
some ./other/script

betiğinizde yani /home/backup.sh

Sonra

0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1

Per Haziran 14 11:10:22 UTC 2018 gibi fbackup.log'dan önce / sonra bir satır ekleyecek


İle echo `date -u`aynı değil data -umi?
Stephen Rauch

Yankı bir satır sonu AIUI ekler.
pbhj

-2

Bu şeylerden ikisini kullanarak bir dosyaya bir şeyler ekleyebilirsiniz '>'.

$ echo "test" >> test.txt
$ echo "test" >> test.txt

$ cat test.txt
test
test

2
Zaman damgası ne olacak
user3004356
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.