From 8af50f4b91f4da539983b07e52591e157258a748 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Wed, 26 Jun 2019 11:08:24 +0400 Subject: [PATCH] nettoyage de logs webobjects --- woclean-logs | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 woclean-logs diff --git a/woclean-logs b/woclean-logs new file mode 100755 index 0000000..e40315d --- /dev/null +++ b/woclean-logs @@ -0,0 +1,90 @@ +#!/bin/bash +# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +source "$(dirname "$0")/lib/ulib/ulib" || exit 1 +urequire DEFAULTS + +function display_help() { + uecho "$scriptname: supprimer les fichiers de log inutiles dans /var/log/WebObjects + +USAGE + $scriptname [options] + +OPTIONS + -u, --useless + Supprimer les logs inutiles. C'est l'option par défaut + -a, --all + Supprimer tous les logs + -t, --today + Supprimer tous les logs du jour" +} + +what=useless +args=( + --help '$exit_with display_help' + -u,--useless what=useless + -a,--all what=all + -t,--today what=today +) +parse_args "$@"; set -- "${args[@]}" + +run_as_root "$@" + +count=0 +cd /var/log/WebObjects || die + +case "$what" in + useless) + einfo "Suppression des fichiers de log inutiles dans /var/log/WebObjects" + ask_yesno "Voulez-vous continuer?" O || exit + + /bin/ls | while read f; do + [ "${f%-[0-9]}" != "$f" ] && continue + + # Tester la presence de "Waiting for requests..." + if ! grep -q 'Waiting for requests...$' "$f"; then + echo "$f: no 'Waiting for Requests...'" + /bin/rm -f "$f" || die + count=$(($count + 1)) + continue + fi + + # Tester la presence de contenu apres Waiting for requests..." + if grep -v "CookieParser: Found a null cookie value in: " "$f" | tail -n 1 | grep -q 'Waiting for requests...$'; then + echo "$f: empty log" + /bin/rm -f "$f" || die + count=$(($count + 1)) + continue + fi + done + ;; + + all) + einfo "Suppression de TOUS les fichiers de logs dans /var/log/WebObjects" + ask_yesno "Voulez-vous continuer?" O || exit + + /bin/ls | while read f; do + if [ "${f%-[0-9]}" = "$f" ]; then + echo "$f" + /bin/rm -f "$f" || exit 1 + count=$(($count + 1)) + fi + done + ;; + + today) + einfo "Suppression des fichiers de logs DU JOUR dans /var/log/WebObjects" + ask_yesno "Voulez-vous continuer?" O || exit + + now="$(date +%Y%m%d)" + + /bin/ls | grep -- "-[0-9]*\\.$now[0-9]*$" | while read f; do + echo "$f" + /bin/rm -f "$f" || exit 1 + count=$(($count + 1)) + done + ;; +esac + +if [ $count -gt 0 ]; then + enote "$count fichiers supprimés" +fi