Je cherche à créer un travail cron qui ouvre un répertoire boucles à travers tous les journaux que j'ai créés et supprime toutes les lignes, mais gardez les 500 derniers par exemple.Bash modifier le fichier et garder les 500 dernières lignes
Je pensais à quelque chose le long des lignes de
tail -n 500 filename > filename
Est-ce que ce travail?
Je ne sais pas non plus comment parcourir un répertoire dans bash.
Voir les autres réponses, mais votre exemple 'tail' ligne exécute comme ceci: 1) le shell ouvre le nom de fichier pour la sortie et le tronque à la longueur zéro 2) la queue s'exécute, voit un fichier vide et 3) n'écrit rien dans le nom de fichier maintenant vide. La réponse de MYYN montre comment vous éviter cela, mais même ces bombes si 'tail' rencontre une erreur. Ne réinventez pas le logrotate recommandé par tanascius. – msw