Quelle est la méthode recommandée pour automatiser une tâche sous Linux?


3

Je suis encore un peu nouveau sur Linux, mais voici ce que j'essaie de faire.

Je dois copier tous les sous-répertoires et fichiers d’un répertoire à un autre tous les 5 minutes environ, les anciennes données étant automatiquement remplacées par les nouvelles données.

J'aimerais aussi que cela fonctionne au démarrage. Est-il possible que cela soit fait? Si oui, de quel programme aurais-je besoin pour planifier l'automatisation et de quelle ligne de commande aurais-je besoin?


Et aussi parce que le site fonctionne mieux (c'est la vraie raison ..)
— intuited

Réponses:


5

Je ferais la copie avec

rsync --archive --delete "fromdir/" "todir/"

Cela va être plus efficace que d'utiliser cp, puisque rsync copie uniquement les fichiers qui ont été modifiés, et même alors uniquement les copies sur la modification elle-même, plutôt que le fichier entier.

Si vous préférez qu'il ne supprime pas les fichiers dans todir qui ont été supprimés dans fromdir, vous venez de laisser de côté le --delete option.

le --archive L'option lui dit en gros de préserver l'état des fichiers ainsi que leur contenu. Notez que si vous avez des liens symboliques dans dir1, cela copiera le liens eux-mêmes, et ne pas les fichiers auxquels ils sont liés. Utiliser ce drapeau avec rsync est similaire à l'utilisation cp -a.

Assurez-vous que vous utilisez la barre oblique de fermeture sur fromdir/: cela raconte rsync copier le Contenu de ce répertoire, plutôt que le le répertoire lui-même . En d'autres termes, si vous omettre le final /, vous allez vous retrouver avec

todir/
todir/stuff
todir/fromdir/
todir/fromdir/morestuff

plutôt que

todir/
todir/morestuff

+1 pour améliorer ma réponse!
— BloodPhilia

+1 pour la coopération! En fait, je ne peux pas, j'ai déjà voté votre réponse au début.
— intuited

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.