RogerDez
(usa Outra)
Enviado em 15/04/2020 - 19:32h
vamos analisar a saída (ainda bemq ue vc postou.. parabéns)
useRME@bacurau CHPG]$ rsync -ahv ./* saai@150.163.38.130:/home/saai/backups
-bash: /usr/bin/rsync: Argument list too long
a lista de argumentos é muito grande ou contém coisas incompatíveis
você está usando um glob da sua shell ' ./* '
isso quer dizer liste todos os arquivos do diretório
isso vai listar arquivos normais e pastas... achoq ue pode ser aqui o problema
para ver a lista gerada pelo glob: printf '%s\n' ./*
vamos ao man do rsync
Note that the expansion of wildcards on the commandline (*.c)
into a list of files is handled by the shell before it runs rsync and
not by rsync itself (exactly the same as all other posix-style pro-
grams).
...
rsync -avz foo:src/bar /data/tmp
This would recursively transfer all files from the directory src/bar on
the machine foo into the /data/tmp/bar directory on the local machine.
...
rsync -avz foo:src/bar/ /data/tmp
A trailing slash on the source changes this behavior to avoid creating
an additional directory level at the destination. You can think of a
trailing / on a source as meaning "copy the contents of this directory"
as opposed to "copy the directory by name" , but in both cases the at-
tributes of the containing directory are transferred to the containing
directory on the destination. In other words, each of the following
commands copies the files in the same way, including their setting of
the attributes of /dest/foo:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
Note also that host and module references don’t require a trailing
slash to copy the contents of the default directory. For example, both
of these copy the remote directory’s contents into "/dest":
rsync -av host: /dest
rsync -av host::module /dest
...
tem muitas coisas no man que vc pode ignorar
bom, o que eu acho que está ocorrendo é que vc está usando o glob incorretamente.
pelo que eu entendi, vc quer copiar todos os arquivos da pasta atual.
note que o glob ' ./* ' não lista pastas nem arquivos ocultos.
se quiser usar um glob, use somente um ponto ' . ' para desgnar a pasta atual
rsync -ahv . saai@150.163.38.130:/home/saai/backups
ou seria melhor vc especificar a pasta que contém todos esses arquivos que tu quer copiar.
rsync -ahv /caminho/completo/ate/pasta/ saai@150.163.38.130:/home/saai/backups
mas veja que versões antigas do rsync tem mais problemas caso vc tenha arquivos com NOMES COM ESPAÇO EM BRANCO, e no caso vai ser complicado vc usar um glob
Older versions of rsync required using quoted spaces in the SRC, like
these examples:
rsync -av host:'dir1/file1 dir2/file2' /dest
rsync host::'modname/dir1/file1 modname/dir2/file2' /dest
This word-splitting still works (by default) in the latest rsync, but
is not as easy to use as the first method.
If you need to transfer a filename that contains whitespace, you can
either specify the --protect-args (-s) option, or you’ll need to escape
the whitespace in a way that the remote shell will understand. For in-
stance:
rsync -av host:'file\ name\ with\ spaces' /dest