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