From 16382ecee75840ae6466a5dc6f973d367063d26b Mon Sep 17 00:00:00 2001 From: Moux Date: Sun, 2 Aug 2015 12:55:35 +0200 Subject: Ajout d'un script de synchronisation Enfs/SSHFS --- bin/mount-encryted-volume | 41 +++++++++++++++++++++++++++++++++++++++++ bin/sync-volume | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100755 bin/mount-encryted-volume create mode 100755 bin/sync-volume (limited to 'bin') diff --git a/bin/mount-encryted-volume b/bin/mount-encryted-volume new file mode 100755 index 0000000..1a7545e --- /dev/null +++ b/bin/mount-encryted-volume @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e + +die () { + echo "$@" >&2 + exit 1 +} + +CONFIG=$HOME/.config/vars +[ -f "${CONFIG}" ] && die "${CONFIG} is missing" +source ${CONFIG} + + +[ -z "${REMOTE_DIR}" -o -z "${SSHFS_DIR}" -o "${ENCFS_DIR}" ] && die "missing vars" + +[ ! -d "$SSHFS_DIR" ] && mkdir "${SSHFS_DIR}" +[ ! -d "$ENCFS_DIR" ] && mkdir "${SSHFS_DIR}" +TEMOIN_FILE="$ENCFS_DIR/.temoin.txt" + +if [ -e "${TEMOIN_FILE}" ]; then + if [ -z "${1}" ] + then + sync-volume archives_administratives + if [ $? -ne 0 ] + then + read -n 1 -p "Quitter avec une synchronisation inachevée [Nyo]: " retour + [ "${retour^^}" = "N" ] || exit 1 + fi + fi + fusermount -u "$ENCFS_DIR" + fusermount -u "$SSHFS_DIR" + chmod 440 ${ENCFS_DIR} + echo "Repertoire demonte" +else + chmod 750 ${ENCFS_DIR} + sshfs -o idmap=user "${REMOTE_DIR}" "${SSHFS_DIR}" + #gksudo -p -m "Mot de passe ENFS" | encfs -S "${SSHFS_DIR}" "${ENCFS_DIR}" + encfs "${SSHFS_DIR}" "${ENCFS_DIR}" && echo "Repertoire monte" || echo "Echec du montage" + sync-volume archives_administratives +fi diff --git a/bin/sync-volume b/bin/sync-volume new file mode 100755 index 0000000..2cab139 --- /dev/null +++ b/bin/sync-volume @@ -0,0 +1,35 @@ +#!/bin/bash + +PROFIL="${1}" +IS_AUTO="${2}" + +if [ ! -e "$HOME/.unison/${PROFIL}.prf" ] +then + echo "Le profil ${PROFIL} n'existe pas" >&2 + exit 1 +fi + +ROOT=$(grep -r "^root *=" $HOME/.unison/${PROFIL}.prf | sed -e 's/^root *= *//') +for dossier in ${ROOT} +do + if [ ! -x "${dossier}" ] + then + if [ -z "${IS_AUTO}" ] + then + echo "Le dossier ${dossier} n'est pas lisible" >&2 + exit 1 + else + exit 0 + fi + fi +done + + +if [ -z "${IS_AUTO}" ] +then + unison -ui text "${PROFIL}" +else + nodeletion=$(grep -r "^root *=" $HOME/.unison/${PROFIL}.prf | sed -e 's/root *=/-nodeletion/') + + unison -ui text -silent -batch $nodeletion "${PROFIL}" +fi -- cgit