Ahoj,

Dňa Sun, 08 Jun 2014 09:03:48 +0100 Sharon Kimble
<boudic...@skimble.plus.com> napísal:

> Revisiting a question that I asked in March last year about how to
> auto-empty a trash bin.
> 

I am created this for cca 2 years (sorry, comments in my language). It
takes mount points for block devices, check the Trash-* dirs and then
uses autotrash to take action:

#!/bin/bash
#
#  empty_trash.sh
#  
#  Copyright 2012 Slavko <li...@slavino.sk>
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.

usage() {
# malý pomocník
        echo -e "Použitie:"
        echo -e "\t$(basename $0) [ -hrs ] [ -d dni ]"
        echo -e "******************************************"
        echo -e 
        echo -e "\t-r\t- reálne vyprázdnenie koša"
        echo -e "\t-s\t- reálne vyprázdnenie koša so zobrazením štatistiky"
        echo -e "\t-d dni\t- vymazať súbory staršie ako počet dní [predvoelne 
10]"
        echo -e "\t-h\t- vypíše tohoto pomocníka a skončí"
}

STARE=10
PARAMS="--dry-run --stat"
VERBOSE="yes"

# spracovanie parametrov vstupu
while getopts hrsd: OPT; do
  case $OPT in
          h) # pomocník
                usage
                exit 0
                ;;
          r) # realne vykonanie
                PARAMS=""
                VERBOSE="no"
                ;;
          s) # realne vykonanie so štatistikami
                PARAMS="--stat"
                VERBOSE="yes"
                ;;
          d) # počet dní veku položky na vymazanie
                STARE=$OPTARG
                [ $STARE -lt 1 ] && STARE=1
                ;;
      \?) # neznámy parameter
        usage
        exit 1
        ;;
   esac
done

shift $(expr $OPTIND - 1)

# hlavný kôš používateľa (XDG)
if [ -z "$XDG_DATA_HOME" ]; then
        BASE_TRASH=$HOME/.local/share
else
        BASE_TRASH=$XDG_DATA_HOME
fi

BASE_TRASH=$BASE_TRASH/Trash

if [ -d $BASE_TRASH/info ]; then
        [ "$VERBOSE" != "no" ] && echo $BASE_TRASH:
        autotrash --days $STARE --trash-path $BASE_TRASH $PARAMS
fi

# pre každý prípojný bod, ktorý je blokové zariadenie
for MOUNTPOINT in $(mount | egrep "^/dev" | awk '{print $1 "@" $3}'); do
        DEVIC=${MOUNTPOINT/@*}
        CESTA=${MOUNTPOINT#*@}
        TRASH=${CESTA}/.Trash-${UID}
        if [ -d ${TRASH}/info ]; then
                [ "$VERBOSE" != "no" ] && echo
                [ "$VERBOSE" != "no" ] && echo "$TRASH"
                autotrash --days $STARE --trash-path $TRASH $PARAMS
        fi
done

regards

-- 
Slavko
http://slavino.sk

Attachment: signature.asc
Description: PGP signature

Reply via email to