Como NÃO preservar a permissão ao usar o scp

3

Estou tentando copiar dados para um dos meus servidores. Alguns dos arquivos copiados têm permissão 444 na máquina de origem. Isso é muito chato, já que se a transferência for interrompida enquanto um desses arquivos estiver sendo gravado, não poderei terminar de escrevê-lo, se não o detetar.

Existe alguma maneira de dizer a scp para aplicar um determinado conjunto de permissões no lado do destino (ou apenas herdar a permissão do diretório de destino?

Preferencialmente, gostaria de criar meus arquivos 664 e diretórios 775.

    
por TheChymera 21.03.2016 / 13:56

1 resposta

3

scp copia arquivos e é isso. Se você está procurando algo mais flexível, o rsync é o que você precisa.

Para copiar uma árvore de diretórios, use

rsync -a local-directory/ remote.example.com:remote-directory/

Se a transferência for interrompida, execute novamente o rsync e ele continuará de onde parou.

Preservar permissões provavelmente é a coisa certa, mas se você quiser aplicar argumentos diferentes, você pode usar a opção --chmod . Se você realmente quiser ignorar as permissões locais, use --no-perms .

Se houver arquivos grandes e suas cópias forem interrompidas com freqüência, e a árvore remota for uma nova cópia que você está preenchendo com o rsync, use a opção --append . Dessa forma, se uma cópia for interrompida no meio de um arquivo, o rsync finalizará esse arquivo sem verificar se o conteúdo atual do arquivo remoto corresponde ao conteúdo local, o que pode economizar algum tempo. Mais uma vez, faça isso apenas se tiver certeza de que um arquivo remoto parcial é o resultado de uma transferência interrompida e não, e. alguma versão mais antiga do arquivo.

    
por 22.03.2016 / 01:45