diff options
| author | Moux <marlox@ouda.fr> | 2015-08-02 12:55:35 +0200 |
|---|---|---|
| committer | Moux <marlox@ouda.fr> | 2015-08-02 12:55:35 +0200 |
| commit | 16382ecee75840ae6466a5dc6f973d367063d26b (patch) | |
| tree | fd2ef99b1703f8f86e1433269d98dded8ee19402 /bin | |
| download | misc-16382ecee75840ae6466a5dc6f973d367063d26b.tar.gz misc-16382ecee75840ae6466a5dc6f973d367063d26b.tar.bz2 misc-16382ecee75840ae6466a5dc6f973d367063d26b.zip | |
Ajout d'un script de synchronisation Enfs/SSHFS
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/mount-encryted-volume | 41 | ||||
| -rwxr-xr-x | bin/sync-volume | 35 |
2 files changed, 76 insertions, 0 deletions
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 |
