Selamlar,

Uygulamayi komple durdurmadan evvel;

kill -SIGSTOP $PID
mv app.log app.log.bkp
kill -SIGCONT $PID

gibi bir sekans denenebilir. Logu dosyaya yazan kod file handle'i
kaybedince ne yapacagini dusunmusse bir sorun cikmadan devam eder gibi.

Burada kritik olan kisim dosyanin tasindigi filesystem'in ayni olmasi
durumunda, uygulama tasinan dosyaya yazmaya devam edebilir. Dosyayi
tasimayip silerseniz silinmis gibi yapip, fh kapatilana kadar yazmaya devam
edebilir.

Bu nedenle mv yapmak yerine;

cat app.log > app.log.bkp
truncate -s0 app.log

gibi bir sekans daha guvenli olacaktir.

21 Nisan 2016 17:30 tarihinde Cemil KELES <[email protected]>
yazdı:

> Merhaba,
>
>
>
> Şu yöntem uyar mı:
>
>
>
> # mv log.txt log.txt.bak
>
> # touch log.txt
>
> # mv log.txt.bak /back/log.tx
>
>
>
> Uygulama log.txt dosyasını sürekli açık tutuyor ise isim değişikliğine /
> taşımaya izin vermeyebilir, bu yüzden ilk sırada uygulamayı durdurup
> touch’dan sonra yeniden başlatmanız gerekebilir.
>
>
>
> İyi çalışmalar
>
> Cemil
>
>
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *yaşar tunçez
> *Sent:* Thursday, April 21, 2016 5:22 PM
> *To:* Linux <[email protected]>
> *Subject:* [Linux] minimum kayıp ile log dosyasını başka bir dosyaya almak
>
>
>
> Merhaba,
>
> Uygulama yazan arkadaşlar uygulama log dosyası oluşturmuşlar, ancak
> logrotate vs. düşünmedikleri için log dosyası 20 GB'a kadar büyümüş. Bu
> dosyanın içeriğini boşaltacağım ancak öncelikle içeriğini başka bir yere
> almak istiyorum.
>
> cat log.txt > /back/log.tx şeklinde dosyayı başka bir dosyaya yönlendirdim
> ancak uygulamayı durdurmadan (yani dolayısıyla log dosyasına log'lar
> yazmaya devam edecek) log kaybı yaşamadan veya minimum kayıpla nasıl
> yaparım bilemiyorum?
>
> _______________________________________________
> Linux E-Posta Listesi
> [email protected]
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
> dakika içinde üyeliğinizi sonlandırabilirsiniz.
> https://liste.linux.org.tr/mailman/listinfo/linux
>
>
_______________________________________________
Linux E-Posta Listesi
[email protected]
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux

Cevap