X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=tools%2Fmise_en_prod.erl;h=933aceb3cbb8b8592304c8f3c876a6e955a45043;hp=4b0c6856aa3c346a122163491da9e730252854c6;hb=8ee1535f5594573931ddaebee77bf6148a5358cb;hpb=5863ffcf7e4d95a95316dd1a64f471cf7a46d944 diff --git a/tools/mise_en_prod.erl b/tools/mise_en_prod.erl index 4b0c685..933aceb 100755 --- a/tools/mise_en_prod.erl +++ b/tools/mise_en_prod.erl @@ -5,13 +5,39 @@ % Recharge les modules de euphorik et met à jour la BD. % TODO : construire le nom du noeud en fonction du nom de l'host -main(_) -> +hote() -> + '@overnux'. + +% le premier argument est le nom du noeud est peut valoir : +% - yaws : noeud de production +% - yaws_dev : noeud de pre-production +main([Nom_node]) when Nom_node =:= "yaws"; Nom_node =:= "yaws_dev" -> + Node = list_to_atom(Nom_node ++ atom_to_list(hote())), net_kernel:start([flynux, shortnames]), io:format("rechargement des modules..~n"), - _Pid = spawn_link(yaws@overnux, euphorik_daemon, reload_euphorik, []), - receive - {'EXIT', _, _} -> - io:format("mise à jour de la BD..~n"), - spawn(yaws@overnux, euphorik_bd, update, []) - end. + rpc:call(Node, euphorik_daemon, reload_euphorik, []), + if Nom_node =:= "yaws_dev" -> copier_bd(Node); + true -> true + end, + io:format("mise à jour de la BD..~n"), + rpc:call(Node, euphorik_bd_admin, update, []); +main(_) -> + io:format("Usage : mise_en_prod.erl "), + halt(1). +% Copie la bd du noeud de production +copier_bd(Node) -> + io:format("Copie de la BD de production vers le noeude pre-production~n"), + Fichier = "/tmp/backup_ek_tmp", + Fichier2 = "/tmp/backup_ek_tmp2", + rpc:call(yaws@overnux, mnesia, backup, [Fichier]), + rpc:call(Node, euphorik_bd_admin, change_node_name, [yaws@overnux, yaws_dev@overnux, Fichier, Fichier2]), + rpc:call(Node, mnesia, restore, [Fichier2, [{default_op, recreate_tables}]]), + rpc:call(yaws@overnux, file, delete, [Fichier]), + rpc:call(Node, file, delete, [Fichier2]). + + + + + +