genea:gramps:synchro-gramps-web

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
genea:gramps:synchro-gramps-web [2025/11/29 08:46] – créée jpmilcentgenea:gramps:synchro-gramps-web [2025/11/29 09:11] (Version actuelle) – [Scripts Bash de Synchro] jpmilcent
Ligne 1: Ligne 1:
-https://memos.clapas.org/informatique/serveurs/installation-logiciels-via-docker#gramps-web+====== Synchroniser média et base locale avec Gramps web ====== 
 + 
 +====== Ressources ====== 
 + 
 +  * [[https://memos.clapas.org/informatique/serveurs/installation-logiciels-via-docker#gramps-web| Installation Gramps Web via Docker, synchro manuelle]] 
 + 
 +====== Scripts Bash de Synchro ===== 
 + 
 +**from-local-to-web.sh** 
 +<code bash> 
 +#!/usr/bin/env bash 
 +# Encoding : UTF-8 
 +# Send Gramps local db and media to distant Gramps Web 
 + 
 +# Gramps Tree id 
 +tree_id="<tree-id>" 
 +# Local directories base path 
 +local_base_dir="/home/jpm/Data/Généalogie/Gramps" 
 +# Local Gramps Databases directory path 
 +local_db_dir="${local_base_dir}/<path-to-gramps-db>/${tree_id}" 
 +local_media_dir="${local_base_dir}/<path-to-media>" 
 +dist_user="<user-on-server>" 
 +dist_ip="<ip-server-address>" 
 +dist_base_dir="~/<gramps-web-docker-compose-directory-path>" 
 +dist_db_dir="${dist_base_dir}/<gramps-web-db-directory-path>/${tree_id}/" 
 +dist_media_dir="${dist_base_dir}/<gramps-web-media-directory-path>/" 
 +dry_run="" 
 + 
 +while getopts d option 
 +do  
 +    case "${option}" 
 +        in 
 +        d)dry_run="--dry-run";; 
 +    esac 
 +done 
 + 
 +if ! [[ -f "${local_db_dir}/lock" ]]; then 
 + echo "Send local DB and media to Gramps Web" 
 + rsync -av --exclude .gitignore "${local_db_dir}/" ${dist_user}@${dist_ip}:${dist_db_dir} ${dry_run} 
 + rsync -av --delete --exclude .gitignore "${local_media_dir}/" ${dist_user}@${dist_ip}:${dist_media_dir} ${dry_run} 
 +else  
 + echo "Gramps DB is locked ! Please close Gramps before sync." 
 +fi 
 +</code> 
 + 
 +**from-web-to-local.sh** 
 +<code bash> 
 +#!/usr/bin/env bash 
 +# Encoding : UTF-8 
 +# Sychronise Gramps web to local db and media 
 + 
 +# Gramps Tree id 
 +tree_id="<tree-id>" 
 +# Local directories base path 
 +local_base_dir="/home/jpm/Data/Généalogie/Gramps" 
 +# Local Gramps Databases directory path 
 +local_db_dir="${local_base_dir}/<path-to-gramps-db>/${tree_id}" 
 +local_media_dir="${local_base_dir}/<path-to-media-dir>" 
 +local_bkp_dir="${local_base_dir}/<path-to-backup-dir>" 
 + 
 +dist_user="<user-on-server>" 
 +dist_ip="<ip-server-address>" 
 +dist_base_dir="~/<gramps-web-docker-compose-directory-path>" 
 +dist_db_dir="${dist_base_dir}/<gramps-web-db-directory-path>/${tree_id}/" 
 +dist_media_dir="${dist_base_dir}/<gramps-web-media-directory-path>/" 
 +dry_run="" 
 + 
 +while getopts d option 
 +do  
 +    case "${option}" 
 +        in 
 +        d)dry_run="--dry-run";; 
 +    esac 
 +done 
 + 
 +echo "Backup current local db in ${local_bkp_dir}" 
 +tar -cjvf "${local_bkp_dir}/$(date +'%Y-%m-%d_%H-%M-%S')_gramps.tar.bz2" -C "${local_db_dir}"
 + 
 +if ! [[ -f "${local_db_dir}/lock" ]]; then 
 + echo "Sync distant DB with local DB" 
 + rsync -av --exclude .gitignore ${dist_user}@${dist_ip}:${dist_db_dir} "${local_db_dir}/" ${dry_run} 
 + rsync -av --checksum --exclude .gitignore ${dist_user}@${dist_ip}:${dist_media_dir} "${local_media_dir}/" ${dry_run} 
 +else  
 + echo "Gramps DB is locked ! Please close Gramps before sync." 
 +fi 
 +</code>
  • genea/gramps/synchro-gramps-web.1764405972.txt.gz
  • Dernière modification : 2025/11/29 08:46
  • de jpmilcent