Integração de 'afuse' com 'sshfs' como um daemon de usuário (systemd?) gerado a partir do login ou do primeiro shell

2

Para facilitar o trabalho com arquivos remotos, eu configuro afuse com sshfs para executar a partir do meu .bashrc . Ele funciona, depois do bash init todas as minhas árvores remotas de ~/.ssh/config/ são montadas sob demanda sob ~/scp/ , mas se sentem um pouco abaixo do ideal.

Isso está atualmente em (um arquivo de origem) .bashrc :

exists(){ [[ ${1:0:1} == "/" ]] && { test -f $1 || test -d $1; } \
          || command -v $1 >/dev/null 2>&1;                        }

# Run an afuse process as daemon
if pgrep -u $USER -f "afuse.*$USER/scp" >/dev/null ; then
  echo "afuse/sshfs already running"
else
  exists afuse && exists sshfs && exists $HOME/scp \
  && export TAfuseX=$(mktemp --suffix=__afuse) && chmod u+x "$TAfuseX" \
  && echo -e "#!/bin/sh\ngrep '^Host ..' ~/.ssh/co* |colrm 1 5" > $TAfuseX \
  && echo "running afuse/sshfs with nohup" \
  && nohup afuse -o mount_template="sshfs %r:/ %m" \
                 -o unmount_template="fusermount -u -z %m" \
                 -o populate_root_command=$TAfuseX \
                 ~/scp 2>&1 > ~/afuse.log
fi

(O acima já incorpora uma dica útil de @ sato-katsura)

O item acima se certifica, normalmente é executado até o desligamento da máquina. É independente de X stops / starts. Em caso de acidente de afundamento (nunca foi observado por mim), o próximo shell o re-spawns.

Você vê otimizações úteis, armadilhas ou outras dicas, mesmo antes de migrar isso para systemd ? Como você envolveria isso em uma unidade de usuário systemd?

    
por Alex Stragies 10.07.2016 / 17:52

0 respostas