script rsync bash pour sauvegarder chaque soir des répertoires spécifiques sur un serveur distant


1

Je cherche un script rsync qui sauvegarde tous les soirs des répertoires spécifiques de mon ordinateur personnel sur un serveur distant. Alors dites: / home / moi / Images à ssh -p 6587 me@remoteserver.com/Pictures. Ce serait bien s'il peut rechercher des changements, mais je ne m'inquiète pas tellement de l'aspect changements, c'est d'avoir un script qui tourne à une certaine heure de la nuit avec cron ou cependant. J'ai cherché et trouvé des scripts sur Google, mais ces scripts étaient spécifiques aux opérations de ces créateurs. Toute aide serait heureusement acceptée car la partie scriptée me lâche vraiment. Merci Janice

Réponses:


1

C'est très simple de créer des scripts de base. Vous utilisez un éditeur de texte ( gedit, nanoou plus puissant et complexe emacs, vim...) pour modifier un fichier. Vous entrez les commandes que vous avez exécutées sur la ligne de commande. Vous lui donnez une première ligne "magique" pour que le système sache quelle commande utiliser pour suivre les instructions du script. Ensuite, vous traitez avec les héritages de l’histoire et après avoir sauvegardé / quitté, vous marquez le fichier "exécutable" pour pouvoir l’exécuter.

La première ligne magique de base est #!/bin/sh- le #!bit qui dit "le reste de la ligne est la commande à exécuter pour utiliser ce fichier correctement" et /bin/shle shell. Vous pouvez également utiliser /bin/bash, ou diverses autres choses.

Alors créez un fichier do_backups:

#!/bin/sh
rsync -a -e "ssh -p 6587" /home/me/Pictures/ me@remoteserver.com:/Pictures/

et ensuite chmod +x do_backups.

Le -adit "tout faire dans ce répertoire"; les -echangements que la commande utilisait pour se connecter, afin que vous puissiez ajouter le port; l'arrière /sur /home/me/Pictures/est important de rsync - l' un de ses bizarreries.

C'est aussi simple que de prendre la commande à exécuter à l'invite et de la placer dans un fichier, avec une première ligne spéciale. Il est conçu pour utiliser les mêmes commandes, la même syntaxe, etc.

rsync cherchera lui-même des changements, cela fait partie de son travail.

Avez-vous également besoin de pointeurs sur la partie cron?


Merci Phil d'avoir répondu, j'ai la partie cron sans problème, mais disons que je veux sauvegarder plusieurs répertoires en une fois. Maintenant, ce qui précède va sauvegarder mes images dans le répertoire des images en laissant ce répertoire intact, mais si je fais plusieurs / home / me / Images / / home / me / Documents / home / moi / recettes @ remoteserver.com: / Il crée un dossier personnel avec tous les sous-répertoires sous le serveur distant. Je veux juste qu'il copie le contenu de plusieurs répertoires dans les répertoires du serveur distant, c.-à-d. Recettes photos, etc. sans créer le répertoire personnel / moi / documents / etc. Merci Janice
Janice Young

1
Mettez plusieurs commandes rsync dans un seul script.
Phil P

1
Si vous essayez d'éviter de saisir plusieurs fois un mot de passe, vous pouvez rendre le SSH plus sécurisé que les mots de passe en utilisant l'authentification par clé publique SSH. Vous pouvez rendre cela plus facile, au point de ne plus avoir besoin d'un mot de passe, mais pour le rendre sûr, vous devez faire quelques manipulations afin de restreindre ce qui peut être fait avec une clé donnée et qui devient… pas complexe, mais impliqué et nécessite un peu plus de compréhension. Ce qui précède devrait fonctionner pour le moment.
Phil P
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.