Il ya dix ans, j'ai travaillé pour un ISP et nous avons eu beaucoup plus de panne de serveur que j'aurais jamais pensé serait possible. Nous avons eu une sauvegarde sur bande qui n'était pas terriblement fiable et donc chaque accident du serveur a entraîné une quantité décente de données perdues. Depuis lors, j'ai été un peu compulsif à m'assurer que toutes mes données importantes sont sauvegardées, de préférence hors site.
Bien que je n'ai pas encore de problèmes avec mes serveurs de cloud, j'aime toujours avoir tout sauvegardé - mon code est sauvegardé sur Github ou BitBucket, donc la seule chose qui ne pouvait pas être facilement répliqué était mes bases de données. Après avoir essayé quelques options, j'ai décidé de sauvegarder les DBs sur Amazon S3, et j'ai écrit un script shell pour sauvegarder les bases de données dans des images memoire, puis j'ai écrit une commande Laravel pour charger la sauvegarde sur S3. Cela a été en cours d'exécution avec aucun problème pour un couple de mois maintenant.
Ensuite, j'ai mis la commande Laravel dans un package et ajouté quelques autres commandes - une pour sauvegarder des dossier entiers et une pour sauvegarder la base de données dans un fichier, la télécharger, puis supprimer la fichier - éliminant la nécessité de faire certaines choses dans un script shell et d'autres à Laravel. Ce paquet est actuellement sur ma page GitHub et disponible sur Packagist. Je vais probablement en ajouter plus, mais à partir de maintenant il fonctionne, et peut être soit programmé comme un job cron ou via l'ordonnanceur de Laravel.
Last Updated: 2017-02-07 13:22
Detailed information on the package is available here.