Aller au contenu

Vidage de dossier auto


Messages recommandés

Bonjour à tous,

Je cherche à vider un répertoire de son contenu régulièrement vers un autre...

Je m'explique :

jour 1 : je place des fichiers dans un répertoire fichier "dossier N°1"

jour 2 : je vide le "dossier N°1" vers un "dossier N°2" automatique (en gros un couper/coller)

jour 3 : je re-place d'autres fichiers dans un répertoire fichier "dossier N°1"

jour 4 : je vide à nouveau le "dossier N°1" vers un "dossier N°2" automatique (si même nom de fichier => le renommer)

etc...

C'est possible docteur ???

Il y a peut être un utilitaire de sauvegarde qui fait, mais je ne l'ai pas trouvé sur les standards proposé par synology...

Merci à vous de vos réponses.

A bientôt

 

PS : les dossiers sont des dossiers dans des répertoires partagés OU PAS... c'est comme on veut.

Lien vers le commentaire
Partager sur d’autres sites

suffit de faire une tache quotidienne programmée via le planificateur de taches intégré à DSM avec la commande suivante:

mv --backup=numbered  <chemin dossier_source>/* <chemin dossier_destination>

("--backup" sert à ne pas écraser les fichiers du même nom comme demandé)

Exemple: 

mv --backup=numbered /volume1/commun/incoming/* /volume1/commun/archive/

Documentation commande "mv" ici: https://www.gnu.org/software/coreutils/manual/html_node/mv-invocation.html

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

ça fonctionne !!!!

une question ou plutôt 2... Mes compétences en anglais et en programmation étant limitées...

comment exclure un dossier de la sauvegarde (le répertoire "nepassauvergarder")

et comment mettre chaque sauvegarde journalière dans un répertoire portant la date et l'heure du jour? (ou juste une incrémentation...)

Merci !!!

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Nicolala a dit :

comment exclure un dossier de la sauvegarde (le répertoire "nepassauvergarder")

Tu n'avais parlé que de fichiers pas de dossiers.

La solution est celle-ci:

find /volume1/commun/incoming -maxdepth 1 ! -name 'nepassauvergarder' | xargs --no-run-if-empty mv -t /volume1/commun/archive

Note:

  • on peut ajouter en argument de "find" d'autres "! -name <fichier ou dossier à exclure>" et pour ces derniers utiliser des jokers ("*", "*", etc ...)
  • avec un "find | xargs" en entrée on inverse le sens du "mv": "mv -t <destination> <fichier_ou_dossier> ...
Citation

et comment mettre chaque sauvegarde journalière dans un répertoire portant la date et l'heure du jour? (ou juste une incrémentation...)

Ca c'est simple:

mv --backup=numbered /volume1/commun/incoming/* /volume1/commun/archive-$(date %F)/

(Il existe d'autre formats possible pour la date)

Références

Nb: si tu as d'autres questions sur les commandes en ligne je t'engage à poursuivre dans une des section "Newbie du monde Linux" ou"Terminal Telnet et SSH"

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il s'agit juste de commandes ici

Les commandes sont exécutées dans et par un SHELL (qui a en général dispose de structures de langages), les plus courant sont SH, BASH, TCSH et ZSH.

il y a 19 minutes, Nicolala a dit :

Il y a un site ou un livre de référence pour les commandes de bases? En Français... :-D

Une commande c'est juste l'appel à un programme, donc ta demande revient à : "un livre avec les commandes de tous les programmes linux" :lol:

Ça ferait un gros bouquin.

Pour les commandes de base (présentent dans presque tout les unix) : https://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base

Pour la mode d'emploi d'une commande, il suffit en général de chercher dans un moteur de recherche "man commande" (ex : man find)

Tu peux aussi regarder ici : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/introduction-aux-scripts-shell

Lien vers le commentaire
Partager sur d’autres sites

EUh... Juste encore un petit problème...

J'ai ça : mv --backup=numbered /volume1/commun/incoming/* /volume1/commun/archive/archive-$(date %F)/

mais j'ai l'impression de ne pas avoir les droits pour créer le répertoire en question...

j'execute en root... j'ai oublié d'activer quelque chose?

je précise la fonction mv fonction avec les fichier en question, seulement mon répertoire de destination devient vite "bordélique" si je n'arrive pas à créer des répertoire à la date du jour... comme ça (avec le répertoire "archive" existant) : mv --backup=numbered /volume1/commun/incoming/* /volume1/commun/archive/

Si le répertoire n'existe pas, cela ne fonctionne pas... j'en déduis que c'est un problème de création de répertoire...

Lien vers le commentaire
Partager sur d’autres sites

il y a 25 minutes, Nicolala a dit :

J'ai ça : mv --backup=numbered /volume1/commun/incoming/* /volume1/commun/archive/archive-$(date %F)/

mais j'ai l'impression de ne pas avoir les droits pour créer le répertoire en questio

Ah oui, en effet, j'avais oublié: faut créer le répertoire au préalable,

Suffit d'ajouter cette ligne au dessus de la commande "mv":

mkdir -p /volume1/commun/archive/archive-$(date %F)/ 

Ou mieux, utiliser des  variables, comme ceci:

srcdir=/volume1/commun/incoming
dstdir=/volume1/commun/archive/archive-$(date %F)
mkdir -p $dstdir
mv --backup=numbered $srcdir/* $dstdir/
il y a 26 minutes, Nicolala a dit :

j'execute en root..

Pas forcément une bonne idée, une erreur de frappe est vite arrivée  avec des résultats potentiellement à problème

Le gestionnaire de taches de DSM permet de choisir sous quel compte utilisateur effectuer la tache, mieux vaut utiliser cette option.

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.