#1 Le 28/04/2010, à 16:45
- darkhyt
[ScriptShell/Bash] Création d'un corbeille
Bonjour à tous,
Dans le cadre d'un TP, j'aimerais trouver le moyen de recréer une corbeille. L'intervenant nous demande de remplacer la commande " rm " (r m) par une commande "rms" (rm sécurisée).
C'est à dire un dossier où sont envoyés des fichiers qui seront supprimés au bout de 14 jours.
Merci d'avance
H.C.
Hors ligne
#2 Le 28/04/2010, à 16:48
- helly
Re : [ScriptShell/Bash] Création d'un corbeille
On va quand même pas te donner la solution pour un tp si ?? ...
bhaaa c'est trop bête , j'ai fait le même tp y'a 2ans, pm moi
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#3 Le 28/04/2010, à 16:54
- sputnick
Re : [ScriptShell/Bash] Création d'un corbeille
@darkhyt,
et alors ? Qu'est ce qui te freine ? Quelles sont tes pistes ? C'est vraiment bateau comme TP.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#4 Le 28/04/2010, à 17:51
- darkhyt
Re : [ScriptShell/Bash] Création d'un corbeille
et bien je débute et je ne sais pas comment faire pour supprimer les fichiers au bout de 14j
S'il te semble si simple je ne refuse pas ton aide
Hors ligne
#5 Le 28/04/2010, à 17:54
- helly
Re : [ScriptShell/Bash] Création d'un corbeille
Je pense que ça ne doit pas effacer AUTOMATIQUEMENT les fichiers de 14 jours, mais ça doit le faire quand tu lances ta commande !
Petite piste :
ls -al
affiche la date des fichiers
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#6 Le 28/04/2010, à 19:19
- darkhyt
Re : [ScriptShell/Bash] Création d'un corbeille
Merci helly pour l'aide.
Mais comme je ne fais que débuter je galère vraiment.
Lorsque les fichiers sont placés dans dossier et que l'on y retouche pas, il faut les supprimer automatiquement. Comment faire pour comparer les dates de chaque fichiers tout les jours sans relancer de commande ?
Merci
Hors ligne
#7 Le 28/04/2010, à 20:05
- toto2006
Re : [ScriptShell/Bash] Création d'un corbeille
. Comment faire pour comparer les dates de chaque fichiers tout les jours sans relancer de commande
une tache dans le cron !
Hors ligne
#8 Le 28/04/2010, à 20:34
- darkhyt
Re : [ScriptShell/Bash] Création d'un corbeille
Merci je vous avoue que cela m'aide beaucoup
Hors ligne
#9 Le 01/05/2010, à 21:54
- sputnick
Re : [ScriptShell/Bash] Création d'un corbeille
Basiquement :
- tu crèe un script rms dans ~/bin qui est relativement standard pour ses scripts persos.
- tu verifie ou bien tu ajoute ~/bin dans le PATH dans ~/.bashrc ( c'est les répertoires par défaut ou le systeme cherche les executables quand on ne donne pas le chemin absolu ) :
export PATH=~/bin:$PATH
et tu en profite pour faire un alias de rm -> rms :
alias rm=rms
- tu source ton ~/.bashrc
. ~/.bashrc
- tu cree le script : ( copier coller l'ensemble directement dans un terminal va creer le fichier et realiser une opération supplémentaire. On utilise les here-docs )
cat<<'EOF'>~/bin/rms
#!/bin/bash
echo "I'm not Richard M. Stallman, but I will try to help u $USER ;)"
sleep 2
mkdir -p ~/.ownedtrashbin
for arg; do
[[ -e "$arg" ]] && mv "$arg" ~/.ownedtrashbin
done
find &>/dev/null ~/.ownedtrashbin -mtime +14 -exec /bin/rm {} \; & # on lance en tache de fond, pas besoin d'attendre après
EOF
chmod +x ~/bin/rms
Le script n'a pas été testé...
Dernière modification par sputnick (Le 01/05/2010, à 21:59)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#10 Le 01/05/2010, à 23:46
- telliam
Re : [ScriptShell/Bash] Création d'un corbeille
Basiquement :
- tu crèe un script rms dans ~/bin qui est relativement standard pour ses scripts persos.
- tu verifie ou bien tu ajoute ~/bin dans le PATH dans ~/.bashrc ( c'est les répertoires par défaut ou le systeme cherche les executables quand on ne donne pas le chemin absolu ) :export PATH=~/bin:$PATH
et tu en profite pour faire un alias de rm -> rms :
alias rm=rms
- tu source ton ~/.bashrc
. ~/.bashrc
- tu cree le script : ( copier coller l'ensemble directement dans un terminal va creer le fichier et realiser une opération supplémentaire. On utilise les here-docs )
cat<<'EOF'>~/bin/rms #!/bin/bash echo "I'm not Richard M. Stallman, but I will try to help u $USER ;)" sleep 2 mkdir -p ~/.ownedtrashbin for arg; do [[ -e "$arg" ]] && mv "$arg" ~/.ownedtrashbin done find &>/dev/null ~/.ownedtrashbin -mtime +14 -exec /bin/rm {} \; & # on lance en tache de fond, pas besoin d'attendre après EOF chmod +x ~/bin/rms
Le script n'a pas été testé...
pas top de donner la réponse à un TP, ça va pas trop l'aider a long terme.
Je te blame pas, c'était à lui de chercher au lieu de venir chercher la solution sur un forum.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#11 Le 02/05/2010, à 01:33
- darkhyt
Re : [ScriptShell/Bash] Création d'un corbeille
Ne t'inquiete pas pas Telliam ceci n'étais qu'une correction puisque j'ai rendu le TP hier! Merci a tous
Hors ligne
#12 Le 02/05/2010, à 09:14
- telliam
Re : [ScriptShell/Bash] Création d'un corbeille
Ne t'inquiete pas pas Telliam ceci n'étais qu'une correction puisque j'ai rendu le TP hier! Merci a tous
ok c mieux pour toi en effet !!
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#13 Le 03/05/2010, à 14:16
- sputnick
Re : [ScriptShell/Bash] Création d'un corbeille
Ne t'inquiete pas pas Telliam ceci n'étais qu'une correction puisque j'ai rendu le TP hier! Merci a tous
@telliam, oui, c'est ce que je présentait puisque la date était bien avancée. Et je pense comme toi, et au départ j'ai cherché à lui faire donner des pistes mais "le bougre" n'est pas joueur
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne