Y a-t-il une possibilité d'utiliser Amazon S3 pour les sauvegardes Time Machine sur Mac OS X?
Ou en d'autres termes: Utiliser S3 plutôt qu'un disque dur externe pour les sauvegardes Time Machine?
Y a-t-il une possibilité d'utiliser Amazon S3 pour les sauvegardes Time Machine sur Mac OS X?
Ou en d'autres termes: Utiliser S3 plutôt qu'un disque dur externe pour les sauvegardes Time Machine?
Sauvegardez automatiquement votre Mac sur Amazon S3 *
Il existe déjà quelques excellents outils qui peuvent faire la majeure partie du travail pour vous. L'outil principal pour effectuer des synchronisations de répertoires à distance s'appelle s3sync, qui est un script écrit en Ruby. Heureusement pour nous, OS X est livré avec Ruby pré-installé, donc il n'y a pas beaucoup de travail à faire pour le faire fonctionner.
Voici mon guide étape par étape pour configurer votre machine afin de réaliser des sauvegardes automatiques quotidiennes sur Amazon. J'ai développé ces étapes sur mon MacBook Air fonctionnant sous Leopard, cependant elles devraient fonctionner également pour les versions précédentes d'OS X.
* Je ne peux pas confirmer le succès de cette méthode
N'oubliez pas que même si c'est pris en charge par S3, S3 n'est pas un système de fichiers. Vous ne pouvez pas lire ou ajouter à un objet existant, il doit être complètement réécrit (Put) à chaque fois qu'il change. Je ne suis pas sûr de ce que cela se traduira en termes de coûts avec le format Sparse Bundling des Macs utilisé par Time Machine d'Apple où le volume est divisé en morceaux de 8 Mo.
Je crois qu'il y a un problème avec les sauvegardes TimeMachine qui utilisent des liens de fichiers, de sorte qu'elles n'ont pas besoin de dupliquer les fichiers pour chaque version de sauvegarde. S3 ne comprend pas les liens de fichiers, donc il copie le fichier, ce qui prend énormément d'espace et de bande passante, ou ne le fait pas, ce qui signifie que le téléchargement d'une version complète est très difficile, en fonction du paramètre --[no-]follow-symlinks
, par défaut est de les suivre. (Je suppose que les services de sauvegarde contournent cela.)
J'avais juste besoin d'une sauvegarde de fichiers individuels, plutôt que d'une sauvegarde complète démarrable en version, donc j'ai configuré un compartiment dans S3, puis j'ai utilisé le script bash suivant:
until AWS_SHARED_CREDENTIALS_FILE="/chemin/vers/credentials/dans/le/fichier/chiffré/monté" \
AWS_MAX_ATTEMPTS=99999 \
aws s3 sync /chemin/vers/sauvegarde/ s3://moncompartiment/chemin/ \
--storage-class DEEP_ARCHIVE \
--region ma-region-1 \
--output json \
--sse-c AES256 \
--sse-c-key "fileb:///chemin/vers/clé/de/chiffrement/dans/le/fichier/chiffré/monté" \
--no-follow-symlinks \
--exclude "*.ssh/*" \
--exclude "*.aws/*"
do echo "Nouvelle tentative de sauvegarde complète sauf si vous appuyez sur ctrl+C dans 2 secondes"
sleep 2
done
Le fichier chiffré peut être binaire, bien que je l'ai gardé en unicode pour pouvoir enregistrer une copie. J'ai mis à la fois mes identifiants AWS et la clé de chiffrement dans des lecteurs chiffrés que je peux monter pendant la sauvegarde.
J'ai choisi l'archive profonde - la demande de téléchargement peut prendre 24 heures, mais c'est 0,01 centime par gigaoctet par mois.
J'ai chronométré les taux de transfert vers chaque emplacement AWS puis j'ai choisi le plus rapide et le moins cher (les prix varient légèrement).
Ce script boucle ensuite jusqu'à ce que la synchronisation renvoie 0 (ma connexion est très peu fiable).
Ça m'a coûté 24$ pour télécharger les fichiers (400 000 requêtes PutObject), puis 6$ par an pour stocker 450 Go.
Les fichiers ne seront pas cohérents, donc cela ne convient pas par exemple pour sauvegarder l'état d'une application à un instant donné. Mais c'est une bonne dernière ressource de sauvegarde des fichiers, au cas où toutes mes sauvegardes hors ligne échouent (cette idée m'est venue après un cambriolage à domicile lors duquel un ordinateur portable et des disques ont été volés - heureusement, ils ont raté un disque dur caché).
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.