ideassa Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 Bonjour à tous, nous avons un NAS DS211 installé dans notre petite entreprise. J'aimerais utiliser un script afin de supprimer le contenu d'un répertoire lorsque le fichier est vieux de 3 jours (dans un premier temps). Je ne sais pas du tout comment configurer ce script. Si vous pouviez me donner un coup de main Merci ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 (modifié) find /path/ -type f -mtime +3 -exec rm -f {} ; Commande a tester sans la partie -exec pour vérifier Modifié le 5 novembre 2014 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
ideassa Posté(e) le 5 novembre 2014 Auteur Partager Posté(e) le 5 novembre 2014 find /path/ -type f -mtime +3 -exec rm -f {} ; Commande a tester sans la partie -exec pour vérifier Je vais essayer. Je crée un nouveau fichier txt , je change l extension en .sh. Je copie cette ligne de commande en remplacant le path par le chemin d'accès du répertoire et je l’exécute comment? Merci a toi. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 Faut juste ajouter une ligne en premier dans ton script : #!/bin/sh Pour le rendre exécutable : chmod +x /path/to/file Pour l'exécuter : /path/to/./file 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
ideassa Posté(e) le 5 novembre 2014 Auteur Partager Posté(e) le 5 novembre 2014 Ok merci je vais essayer ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
ideassa Posté(e) le 5 novembre 2014 Auteur Partager Posté(e) le 5 novembre 2014 (modifié) Voila j'ai testé la commande directement en SSH et ca fonctionne bien. Par contre lorsqu'il est dans le fichier SH, lorsque je veux l'executer après avoir fait chmod +x, il me dit : 'bin/sh: can't open ' J'ai ca dans mon fichier : #!/bin/sh find /volume1/Users/9-Numerisations_Ricoh/TEST_suppression_auto/ -type f -mtime +3 -exec rm -f {} ; Le fichier sh se trouve dans : /volume1/scripts/ Modifié le 5 novembre 2014 par ideassa 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
ideassa Posté(e) le 6 novembre 2014 Auteur Partager Posté(e) le 6 novembre 2014 (modifié) Personne? J'ai mis la commande dans un fichier .sh mais après que faire pour qu'il s'auto execute dans synology?? Quand j'execute le fichier que j'ai crée j'ai un message d'erreur dans ssh 'bin/sh: can't open ' Que dois je faire svp Modifié le 6 novembre 2014 par ideassa 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 6 novembre 2014 Partager Posté(e) le 6 novembre 2014 Quand j'execute le fichier que j'ai crée j'ai un message d'erreur dans ssh 'bin/sh: can't open ' Probable qu'il manque le "/" initial avant le "bin" dans la 1ere ligne du script. Vérifier qu'elle respecte bien la syntaxe ci dessous: #! /bin/sh D'autre part, le find/delete sera plus efficace si écrit comme ceci: find "/volume1/Users/9-Numerisations_Ricoh/TEST_suppression_auto/" -type f -mtime +3 -delete Attention: les fichiers effacés de cette manière ne passent pas dans la corbeille. On n'a pas droit à l'erreur (enfin j'espère qu'il y a des sauvegardes quand même). Dans un 2ème temps, il serait plus propre de faire un script générique ou les arguments "chemin" et "nombre de jours" seraient passés en paramètre. Quelque chose dans le genre de: #! /bin/sh chemin="/volume1/users/${1}" nbjours="${2:-3}" # 2eme argument, "3" si absent find "$chemin" -type f -mtime +$nbjours -delete qu'on pourra invoquer comme suit: <chemin>/monscript.sh "9-Numerisations_Ricoh/TEST_suppression_auto" 3 Important: pour éditer le fichier script, utiliser un éditeur de texte capable d'enregistrer avec les fin de ligne au format unix. Sous Windows, par exemple Notepad++ (dans ce cas avec l'option "format des sauts de ligne -> unix") Un petit avis perso pour terminer: en tant que débutant, débuter des exercices de scripting unix par des outils qui font des suppressions de fichiers me semble un peu aventureux, une erreur est vite arrivée. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.