Como o título diz, o Rsync não é capaz de copiar arquivos para as pastas que o próprio Rsync criou segundos antes. Achei que poderia ser um problema com o curlftpfs
, que é o que monta a pasta ftp.
Tentei criar um arquivo dentro de uma pasta que contém um nome com um ponto, como daily.0
em touch /mnt/ftp/.../daily.0/test.txt
Posso criá-lo.
Quando utilizo um editor aparece nano
a seguinte mensagem [ Error writing lock file /mnt/ftp/.../daily.0/.test.txt.swp: Operation not supported ]
, mas ele cria. Se eu usar um editor como vi
o terminal congela.
Se eu criar pastas, copiar ou mover arquivos, não há problema.
Deixo-vos algumas informações adicionais:
curlftpfs
curlftpfs -o utf8 -o allow_other ${FTP_USER}:${FTP_PASSWD}@${FTP_HOST} /mnt/ftp -v; grep -qs '/mnt/ftp ' /proc/mounts
Ele foi testado com rsync 3.1.2 e 3.2.7. Também tentei usar apenas o rsync e também não consegui criar os arquivos.
rsnapshot (parte de rsnapshot_ftp.conf)
rsync_long_args --delete --delete-excluded --no-owner --no-group --no-perms --no-times --modify-window=3602
backup /persistence/backups/tmp/ ./
Saída para rsnapshot: /usr/bin/rsnapshot -c /etc/rsnapshot_ftp.conf daily;
require Lchown
Lchown module loaded successfully
Setting locale to POSIX "C"
echo 6659 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /mnt/ftp/...
...
mkdir -m 0755 -p /mnt/ftp/.../daily.0/
/usr/bin/rsync -av --delete /persistence/backups/tmp/ /mnt/ftp/.../daily.0/./
rsync: mkstemp "/mnt/ftp/.../daily.0/.backup_to_ftp.tar.lmLoNR" failed: Operation not supported (95)
rsync: mkstemp "/mnt/ftp/.../daily.0/.backup2_to_ftp.tar.lmJrSC" failed: Operation not supported (95)
sent 604,429,298 bytes received 2,640 bytes 172,694,839.43 bytes/sec
total size is 604,280,067 speedup is 1.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1205) [sender=3.1.3]
WARNING: Some files and/or directories in /persistence/backups/tmp/ only transferred partially during rsync operation
/usr/bin/logger -p user.err -t rsnapshot[6659] WARNING: Some files and/or \
directories in /persistence/backups/tmp/ only transferred partially \
during rsync operation
touch /mnt/ftp/.../daily.0/
rm -f /var/run/rsnapshot.pid
/usr/bin/logger -p user.err -t rsnapshot[6659] WARNING: /usr/bin/rsnapshot \
-c /etc/rsnapshot_ftp.conf daily: completed, but with some warnings
A mesma coisa que o rsnapshot faz, mas nos comandos rsync (+/-):
mkdir -m 0755 -p /mnt/ftp/.../daily.0/
/usr/local/bin/rsync -va --delete --numeric-ids --delete-excluded /persistence/backups/tmp/ /mnt/ftp/.../daily.0/./
...
rsync: [receiver] mkstemp "/mnt/ftp/.../daily.0/.backup_to_ftp.tar.1HGJ8m" failed: Operation not supported (95)```
...
sent 603,661,017 bytes received 393 bytes 241,464,564.00 bytes/sec
total size is 603,512,067 speedup is 1.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1336) [sender=3.2.7]
Qualquer ajuda é bem-vinda!
Passei muitas horas e estou começando a pensar que não rsync
sou ext4
capaz de trabalhar curlftpfs
com NTFS
... Fique à vontade para deixar opiniões sobre como fazer algo como o rsnapshot sem usar o rsync
A pista está aqui:
Está lhe dizendo que o sistema remoto - ou um dos cludges usados para acessá-lo - não pode lidar com o nome de arquivo especificado.
Suponho que eu sugeriria que o sistema remoto não pode lidar com nomes de arquivos que começam com um ponto. Você mesmo pode testar isso com bastante facilidade:
Se for esse o caso,
rsync
tem apenas o sinalizador para solucionar esse comportamento interrompido,--inplace
. Há desvantagens em usar esta opção, por isso não é o padrão (leiaman rsync
para obter detalhes).Agora um artigo de opinião. Tentar executar uma geração de backup diretamente em um serviço FTP parece repleto de complexidade desnecessária. Você está ciente de que o FTP (pelo menos por padrão) não fornece criptografia em nível de transporte e os dados são transferidos de forma transparente pela rede? Seus backups contêm dados confidenciais? Você testa se esses backups podem ser usados para recuperação?