OVH Community, votre nouvel espace communautaire.

Corbeille sous linux


corentin.barbu
05/02/2008, 16h46
Bonjour,
J'ai aussi fait une petit programme de ce type, avec mise à la corbeille : corb. Il est complété par un outil de restauration assez complet : restaure qui permet de récupérer les fichiers et de les remettre dans le répertoire d'origine.

Il sont accessibles à l'adresse suivante : http://corentin.barbu.free.fr/blogot...rb-et-restaure

En un copier/coller, vous pouvez aussi intégrer ces outils initialialement prévus pour la ligne de commande dans nautilus. Un simple clic droit et vous mettez votre fichier intelligemment à la corbeille i.e. vous pourrez le restaurer là où vous le retirez :-)

Profitez bien de votre linux.

Corentin sous ubuntu

OVH
21/02/2004, 11h39
Il est possible d'avoir le même type de resultat avec simplement remplacement de rm par mv vers un certain repertoire. Puis vous pouvez ajouter dans crontab tmpwatch qui va effacer les fichiers plus vieux que X heures.

i-services
19/02/2004, 15h51
Salut tout le monde

Pour ceux à qui ça est déjà arrivé de supprimer des fichiers par erreur sur leur serveur, vous avez surement regreté qu'il n'y ait pas de corbeille

Voici un script qui vous permettra de créer une corbeille, en utilisant le commande del au lieu de rm

Etape 1 : créer un fichier /bin/del avec un chmod 755

Etape 2 : copiez y les commandes suivantes :

-----------------
#!/bin/bash

if [ -z $1 ]; then
echo 'del : Fichier ou répertoire non spécifié'
exit 1
fi

timestamp=`date '+%s'`

while [ $# -ge 1 ]; do
file=`echo $1 | sed 's/\/$//'`

if [ ! -e $file ]; then
echo "del : Fichier ou répertoire '$file' introuvable"
else
echo -n "del : Etes-vous sûr de vouloir supprimer '$file' ? [y/n] "

read confirm

if [ -z $confirm ]; then
confirm='n'
fi

if [ $confirm == 'y' ]; then
echo "Suppression du fichier ou répertoire '$file' ..."

file_name=`basename $file`

mv $file /trash/$file_name-$timestamp
fi
fi

shift
done

for i in `ls -1 /trash/` ; do
taille=`echo ${#i}`
deltime=${i:$taille-10:10}
diff=`expr $timestamp - $deltime`

if [ $diff -gt 2592000 ]; then
rm -rf /trash/$i
fi
done

exit 0
-----------------

Etape 3 : Créez un répertoire /trash :

mkdir /trash

Remarque : vous pouvez aussi créer un lien symbolique /trash qui pointe vers (par exemple) /home/corbeille

Et voila, quand vous voulez supprimer un fichier, vous faites "del fichier" ou del "fichier*" ou "del *" et il sera déplacé dans la corbeille. Cela fonctionne aussi pour les répertoire.

Remarque : ne mettez pas de paramètres à cette commande tel que "del -f".