[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Auto-emptying of trash.



Ahoj,

Dňa Sun, 08 Jun 2014 09:03:48 +0100 Sharon Kimble
<boudiccas@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 <linux@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 to: