Prosty skrypt, który w przekazanej do skryptu ścieżce wyszukuje i usuwa katalogi starsze niż to podano w stałej ILE.
#!/bin/bash ILE=3 #dni GDZIE=$1 #katalog do przeszukania zakładamy ze są tu tylko katalogi DATA=`date +%-j` #czyli dziś mamy $DATA dzień roku for i in $GDZIE/* ; do DATA_PLIKU=`ls -Gd --full-time $i`; # --full-time zwraca datę idealna do przekazania do programu data PLUS=`expr index "$DATA_PLIKU" "\+"`; # - to co zwrócił ls trzeba obciąć do samej daty więc ustalamy od którego znaku tniemy PLUS=$[ $PLUS - 31 ] DATA_PLIKU=`date +%-j -d "${DATA_PLIKU:$PLUS:35}"` # i już wiemy którego dnia roku założono katalog if (( $DATA \>= $DATA_PLIKU )); then # problem zawsze stanowi zmiana roku więc staramy się to wykryć if (( (($DATA - $DATA_PLIKU)) \> $ILE )); then rm -R $i fi else if (( ((365 + $DATA - $DATA_PLIKU)) \> $ILE )); then rm -R $i fi fi done