C'est assez drôle, il existe de nombreuses façons dont les outils de ligne de commande Linux sont largement supérieurs à ceux de Windows, mais je n'ai pas trouvé d'équivalent à robocopy . Robocopy est beaucoup plus polyvalent que cp
, et je ne sais pas comment faire ce que je veux avec des outils Linux.
Un cas d'utilisation spécifique est que j'ai deux répertoires avec des fichiers principalement similaires, mais l'un a des fichiers source plus récents et un a des fichiers de contenu que l'autre répertoire n'a pas, et éventuellement des fichiers source plus récents (pour un site Web). Je veux copier les fichiers de ce dernier répertoire dans le premier, en ajoutant de nouveaux fichiers de contenu et autres, mais sans écraser les fichiers plus récents dans le répertoire de destination.
J'ai essayé de comprendre comment faire cela sous Linux pendant peut-être une demi-heure, j'ai décidé que je devrais probablement apprendre le script bash ou quelque chose pour faire ce que je voulais, puis j'ai réalisé que je pouvais simplement utiliser robocopy. J'avais également d'autres exigences. Je convertissais essentiellement un site Web Python (Django) d'un référentiel SVN en un référentiel Git, et je voulais m'assurer que je n'avais pas de modifications non validées dans SVN. Cependant, je voulais exclure conditionnellement les .svn
répertoires et les .pyc
fichiers Python compilés. La commande robocopy suivante fait exactement ce que je veux:
robocopy source destination /XO /E /XD .svn /XF *.pyc
Existe-t-il un équivalent de Robocopy sous Linux? J'ai examiné rsync
brièvement, mais il semblait que je devrais configurer un serveur rsync avant d'essayer de synchroniser les dossiers.