Invoca o rsync com padrões específicos para a pasta atual?

0

Eu tenho uma pasta local que desejo sincronizar com uma pasta remota por meio do SSH e gostaria de fazer isso por meio de rsync . Eu sempre chamaria rsync com os mesmos argumentos e a mesma origem e destino, quando eu quiser sincronizar essa pasta específica.

Existe uma maneira de criar um arquivo de configuração específico da pasta para rsync , colocado nessa pasta local, para que, quando eu simplesmente executar rsync nessa pasta, ele seja executado automaticamente os padrões do arquivo de configuração e iniciam a sincronização? Algo parecido com o modo como você simplesmente chamaria git status em uma pasta e lê o repositório de lá - sem mais argumentos sobre o caminho para o repositório fornecido.

    
por CamilB 09.04.2016 / 12:25

1 resposta

4

Você deve escrever seu próprio script de shell para isso. Por exemplo, "myrsync" na sua exploração PATH:

#!/bin/bash
ok(){
  if [ -t 0 ] &&
     read -p "ok? $* ? " reply && 
     [ "$reply" = y -o "$reply" = ok ] 
  then "$@"
  fi
}

if [ -f .myrsync ]
then ok rsync $(<.myrsync)
else echo "no .myrsync here in $PWD"
fi

Isto tem uma função ok que testa que stdin é um terminal e, em seguida, solicita o comando rsync encontrado e, se você responder "y", ele o executa. O restante do script testa um arquivo .myrsync e, se for o caso, executa a função em seu conteúdo.

    
por 09.04.2016 / 13:43

Tags