2016-01-05 1 views
2

Étant donné un script bash en cours d'exécution ping -c 25 google.com | tee /home/user/myLogFile.logComment limiter la ligne maximale dans le fichier journal

Et le fichier de sortie /home/user/myLogFile.log contenant:

PING google.com (117.102.117.238) 56(84) bytes of data. 
64 bytes from 117.102.117.238: icmp_seq=1 ttl=61 time=12.7 ms 
64 bytes from 117.102.117.238: icmp_seq=2 ttl=61 time=61.1 ms 
(...) 
64 bytes from 117.102.117.238: icmp_seq=25 ttl=61 time=7.11 ms 

--- google.com ping statistics --- 
25 packets transmitted, 25 received, 0% packet loss, time 24038ms 
rtt min/avg/max/mdev = 5.573/11.293/61.102/11.210 ms 

Comment limiter les lignes maximum dans le fichier journal, et si ce maximum est atteint, le fichier est réinitialisé et conserve la sortie suivante enregistrée?

+0

merci S.Spieker, je l'utilise déjà ce lien avant. Mais, ce ne fonctionne pas comme je le voulais. le script comme 'my_program | dd bs = 1 compte = 100> log' juste faire le fichier jusqu'à 100 octets et ne pas reprendre le 'my_program' salutations –

+0

En fait, il y a 'my_program | tee> (split -d -b 100000 -) 'comme réponse acceptée dans la copie suggérée ci-dessus –

Répondre

1

Ok, je pense que vous pouvez faire quelque chose comme:

ping -c 25 google.com | tee >(split -d -b 100000 - /home/user/myLogFile.log) 
+0

Je viens d'essayer ce script, mais semble toute erreur -> > tutak @ 127: ~ $ ping -c 25 google.com | tee sudo> (split -b -d 100000 myLogFile.log) > T:/dev/fd/63: Aucun fichier ou répertoire je créer le fichier manualy mais toujours l'erreur concernant –

+0

j'ai oublié le « - '- Veuillez réessayer. –

+0

@MuhammadJendroYuwono vous ne pouvez pas ajouter un "sudo" ici dans la commande. –