Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Shell-script permettant la gestion d'une corbeille
Envoyé par: chaouch

Bonjour,

Premierement, je remercie PHoquet pour m'avoir repondu à mon probleme d'impression qui reste toujours posé puisque j'ai essayé d'aller à l'adresse:[localhost] sans succes et l'imprimante que j'utilise, en l'occurence, une hp Laser Jet 2200; supports parallel, USB, wireless(fast infrared) and network, ne repond pas à la commande lpr.
Deuxiement, j'ai un probleme de la gestion d'une corbeille à vous(tout le monde) proposer afin de m'aider à le resoudre, voici le probleme:
___________________________________________________________
Ecrire un shell-script permettant la gestion d'une corbeille afin de "securiser" vos effacement(On considere que touts les effacements sont dans le repertoire courant).
La corbeille sera un repertoire se situant à la racine de votre compte.
S'il n'existe pas, ce repertoire devra etre creé lors du premier effacement de fichier.
A chaque effacement, le fichier sera déplacé dand la corbeille et gzippé.Vous sauvegardez sont emplacement initial dans un fichier d'index de la corbeille.
Imaginez ensuite les scripts de listage, vidage(partiel ou total) de la corbeille.
______________Fin de l'enoncé du probleme______________________
J'ai essayé comme je peux à repondre au debut du problème :
Creation du repertoire corbeille et des fichiers Liste_del et num_file:

#!/bin/sh
if test ! -d ~/corbeille
then
mkdir ~/corbeille
touch ~/corbeille/Liste_del
touch ~/corbeille/num_file
echo 1 >> ~/corbeille/num_file
fi

Le reste, excusez moi, ça me fait todre les neurones et je compte sur votre bienveillance pour pour corriger le debut de la solution et avoir la reponse au reste du probleme.Merci infiniment .
Ah! j'ai oublié: BONNE ANNEE 2004, chers amis Linuxman, remplie d'idées et de creation.

Poste le Thursday 1 January 2004 10:26:14
Répondre     Citer    
Re: Shell-script permettant la gestion d'une corbeille
Envoyé par: alveric

Ce genre de chose existe déjà... ne serait-ce que dans des gestionnaires de bureau comme KDE. Mais si tu veux en recréer un pour toi, why not ?

Si tu veux créer une commande qui prend directement la place de rm, tu peux définir un alias dans le fichier de config de ton shell. Pour bash, tu rajoutes dans ton $HOME/.bashrc la ligne:
alias rm="/chemin/vers/ton_script.sh"
Mais note bien que c'est quand même dangereux de remplacer rm si tu n'es pas sûr de toi. (là tu fais man bash, tu lis qq doc qui sont listées dans ce même forum...)

Au passage, la première des lignes
#touch ~/corbeille/num_file
#echo 1 >> ~/corbeille/num_file
est inutile car les opérateurs ">" et ">>" créént le fichier s'il n'est pas présent.

Pour le contenu brut de ces scripts, j'ai pas d'idée précise de code, mais je veux bien déblayer un peu les problèmes.

À titre perso, je mettrais des permissions restrictives sur le dossier corbeille (un peu parano le alveric), style chmod 700.
Je viens de faire un petit test, et il me semble que gzip ne conserve pas les permissions des fichiers (mais tar peut le faire, donc tu peux archiver en .tgz, ou tu peux même les rajouter dans le fichier Liste_del)

La principale difficulté (au départ) me semble venir dans le choix de la manière dont les fichiers archivés seront nommés, et le format du fichier Liste_del. Cela pour gérer le cas de deux fichiers supprimés portant le même nom, mais dans deux dossiers différents, voire le même dossier (fichier créé, supprimé, recréé et resupprimé), ou des noms comportant des caractères spéciaux, ou des fichiers spéciaux (comment gérer les liens symboliques, fichiers de périphérique...).

À partir de là le listage et la restauration ne devraient pas poser de problèmes techniques: il "suffit" d'utiliser la ligne de commande et du awk/grep.

Une fois que ça marche, il restera à adapter le(s) scripts pour faire en sorte que les fichiers de config de la corbeille ne soient pas aisément supprimables par ce script, qu'en supprimant un des fichiers de la corbeille, on ne l'archive pas une seconde fois... Ça peut aller loin si on veut sophistiquer la chose winking smiley

Poste le Thursday 1 January 2004 17:48:09
Répondre     Citer    
Re: Shell-script permettant la gestion d'une corbeille
Envoyé par: herbert

perso j'avais fait un truc tout simple...

j'avais deplacer la commande rm par rm.origine

et cree une commande rm qui faisait en fait un
-mv dans /tmp/corb du fichier

dans l'crontab un fichier tester l'age des fichiers toutes les 24heures
et tous les fichiers de plus de 31jours etaient virés.

bien sur pour une raison evidente de securite la sauvegarde integrai ce repertoire au cas ou on voudrait recuperer un fichier d'il y a 3mois...

Poste le Friday 2 January 2004 16:59:44
Répondre     Citer    
Re: Shell-script permettant la gestion d'une corbeille
Envoyé par: herbert

par contre moi j'avais pas de log pour dire d'ou venait le fichier mais suffit de rajouter au script qui remplace la commande rm.

ps j'ai aussi oublier de preciser que dans le script rm
si le quota etait atteind
-teste effacement immediat de tout fichier de +31jours
-si tjrs pas de place effacement immediat de tout ce qui est deja sauvegardé (fichiers plus vieux que le jour meme)
si tjrs pas asser de place effacement brutale du fichier.

Poste le Friday 2 January 2004 17:03:46
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Shell-script permettant la gestion d'une corbeille
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons