Step by Step Duniter Installation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.4 KiB

#!/bin/bash
#set -x
# source: https://forum.duniter.org/t/synchroniser-duniter-plus-rapidement/7689
function usage {
echo "Usage: $0 [options]"
echo " -h --help : display this help and exit"
echo " -s --start : start duniter at the end of the synchronization"
echo " -n --node node_adress : node used to start synchronization (default g1.duniter.org)"
echo " -m --mdb mdb "
echo " -a --all-data : include peers and mempool"
}
node="g1.duniter.org"
mdb=""
start=""
mdb="duniter_default"
include_all_data=""
# parameter analysis
while getopts "ahsn:m:-:" option; do
case "${option}" in
-)
case "${OPTARG}" in
help)
usage
exit 0
;;
start)
start="true"
;;
node)
node="${!OPTIND}"; OPTIND=$(( $OPTIND + 1 ))
;;
mdb)
mdb="${!OPTIND}"; OPTIND=$(( $OPTIND + 1 ))
;;
all-data)
include_all_data="true"
;;
*)
if [ "$OPTERR" = 1 ] && [ "${optspec:0:1}" != ":" ]; then
echo "Unknown option --${OPTARG}" >&2
usage
exit 1;
fi
;;
esac;;
s)
start="true"
;;
a)
include_all_data="true"
;;
n)
node=${OPTARG}
;;
m)
mdb=${OPTARG}
;;
h)
usage
exit 0
;;
*)
usage
exit 1;
;;
esac
done
function clean_tmpfs {
rm -rf /dev/sbm/duniter
}
# pre-synchronization
duniter stop --mdb ${mdb}
clean_tmpfs
# synchronization
duniter --home /dev/shm/duniter sync ${node} --mdb ${mdb}
# reset data
duniter reset data --mdb ${mdb}
# copy data
cp -rf /dev/shm/duniter/${mdb}/data ~/.config/duniter/${mdb}/data
if [ -n "${include_all_data}" ]; then
cp -f /dev/shm/duniter/${mdb}/peers.db ~/.config/duniter/${mdb}/peers.db
cp -f /dev/shm/duniter/${mdb}/duniter.db ~/.config/duniter/${mdb}/duniter.db
cp -f /dev/shm/duniter/${mdb}/txs.db ~/.config/duniter/${mdb}/txs.db
fi
# post-synchronization
clean_tmpfs
if [ -n "${start}" ]; then
duniter start --mdb ${mdb}
fi