#!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source "$(dirname -- "$0")/lib/ulib/auto" || exit 1 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