genea:gramps:synchro-gramps-web

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
genea:gramps:synchro-gramps-web [2025/11/29 09:03] jpmilcentgenea:gramps:synchro-gramps-web [2025/11/29 09:11] (Version actuelle) – [Scripts Bash de Synchro] jpmilcent
Ligne 7: Ligne 7:
 ====== Scripts Bash de Synchro ===== ====== Scripts Bash de Synchro =====
  
-**from-local-to-web.sh**#!/usr/bin/env bash+**from-local-to-web.sh** 
 +<code bash> 
 +#!/usr/bin/env bash
 # Encoding : UTF-8 # Encoding : UTF-8
 # Send Gramps local db and media to distant Gramps Web # Send Gramps local db and media to distant Gramps Web
Ligne 44: Ligne 46:
 **from-web-to-local.sh** **from-web-to-local.sh**
 <code bash> <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> </code>
  • genea/gramps/synchro-gramps-web.1764407000.txt.gz
  • Dernière modification : 2025/11/29 09:03
  • de jpmilcent