J'ai maintenant 4 ou 5 ordinateurs et j'ai besoin d'un meilleur système pour tout synchroniser. J'utilise beaucoup git et github pour synchroniser mes fichiers pour des projets de programmation, mais il y a ensuite des bases de données, des fichiers .bash_profile, des scripts bash, etc. Parfois, au lieu de synchroniser des fichiers, je passe simplement d'un ordinateur à un autre. Mais cela devient assez chaotique. Certains de mes ordinateurs sont Ubuntu et d'autres sont OS X.
Avez-vous des suggestions pour gérer un flux de travail qui s'étend sur plusieurs ordinateurs personnels?
Réponses:
J'utilise une combinaison de Git pour les référentiels git et Unison pour tout le reste. J'ai plusieurs profils à l'unisson afin que je puisse synchroniser des choses spécifiques, et un qui synchronise tout. J'ai également un script bash qui passe et synchronise toutes les choses que synchronise à l'unisson puis passe et met à jour tous mes référentiels git.
L'unisson est la meilleure chose dans mon esprit quand il s'agit de synchroniser les ordinateurs.
la source
Dropbox
Pour synchroniser des fichiers, c'est aussi simple que de les travailler dans un dossier que DropBox connaît. La vidéo sur la page principale fait la plupart de la description, c'est pourquoi je n'ai pas commenté les fonctionnalités. Modifiez simplement un fichier versionné et DropBox le téléchargera automatiquement, puis toutes les autres machines avec DropBox téléchargeront automatiquement la dernière version.
Pour des choses comme les bases de données, les liens symboliques pourraient être le chemin à parcourir. Ce fil sur les forums DropBox donne un petit aperçu de la façon de synchroniser une base de données MySQL. Alternativement, vous pouvez faire la route du script "export / import", ou, si vous utilisez MySQL, vous pouvez jeter un œil à la réplication et comment l'implémenter (c'est une fonctionnalité de MySQL qui n'utilise pas DropBox).
la source
la source
Vous pouvez bien sûr utiliser github pour tout votre code, y compris les fichiers .bash_profile et les scripts bash.
Le serveur Hudson / Jenkins CI est bon pour maintenir plusieurs environnements. Utilisé avec DbMaintain, il peut également synchroniser vos bases de données.
Mon équipe utilise cette combinaison pour synchroniser quatre stations de couplage, une variété d'ordinateurs portables et des environnements CI, TEST et QA (avec des serveurs et leurs propres copies de la base de données).
Cela implique des machines Windows, des ordinateurs portables Mac et des serveurs Linux, donc c'est assez flexible.
la source
Je garde mes fichiers dot dans git, avec des branches pour les configurations spécifiques à la machine. Cela me permet de configurer rapidement une nouvelle machine et je peux partager des scripts et les garder à la dernière version.
la source
Vous devrez peut-être prendre du recul et vous demander pourquoi vous avez besoin d'autant d'ordinateurs. C'est comme si quelqu'un demandait comment garder toutes ses affaires de la même façon dans les 5 voitures qu'il possède.
Je vous suggère de vous demander ce que fait chaque machine que votre machine principale ne fait pas, et de le faire faire.
Avez-vous pensé à un bon ordinateur portable?
Si tout cela se trouve dans votre maison, vous pouvez configurer un serveur et y conserver toutes les informations. Vous n'avez alors qu'une seule machine avec des données à sauvegarder.
S'il s'agit de machines distantes, envisagez d'obtenir un vps linux et stockez-y vos données distantes. N'utilisez aucun service en ligne gratuit comme github, dropbox, etc., car ils peuvent disparaître au mauvais moment.
N'utilisez pas AWS pour stocker vos données. à 0,1 $ / mois / Go, soit 100 $ / mois / To, ou 1200 $ / an / To. Pour cet argent, vous pouvez acheter environ 15 disques durs Western Digital 1 To.
Si vous dirigez une entreprise et que vous en tirez de l'argent, utilisez le meilleur service possible, mais pour être honnête, il est difficile de battre les disques durs pour déplacer beaucoup de données. Même les lecteurs micro USB de 32 Go ont la taille d'un ongle et vous pouvez déplacer beaucoup de données ...
Il y a le Cloud, le Cloud Privé. Peut-être qu'il devrait y avoir le Personal Cloud ...
la source
Git, migré de Subversion, à son tour migré de CVS. fgit (avertissement: par moi) pour
pull
push
,status
etgc
.la source
Avez-vous envisagé de créer une sorte d'infrastructure de cloud là-bas? On dirait que la seule façon d'abstraire de quel poste de travail a le service / fichier / chose.
Voici un lien vers le Cloud Ubuntu .
la source
J'utilise maintenant Wuala en remplacement de Dropbox. Un problème est le manque de surveillance des dossiers sous Linux. Il analyse essentiellement tous les fichiers toutes les minutes. La prochaine version devrait résoudre ce problème comme ils le disent.
La synchronisation en temps réel sur Linux est problématique si vous avez des dizaines de milliers de dossiers (par exemple les référentiels git) en raison de la façon dont inotify est implémenté. Pour chaque dossier, il doit y avoir une "surveillance" - voir par exemple https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux
la source