
Proxmox仮想マシンで同じLAN(約90 GBの画像/ビデオ)にあるラズベリーパイに多数の画像を転送するための小さなスクリプトを作成しようとしています。
rsync 接続がランダムに切断され続けるため、必ずしも期待どおりに機能するわけではありません。同じファイルやディレクトリではこれは発生しません。失敗するたびに変わります。
私が受け取ったエラーは次のとおりです。
2023/06/21 03:05:28 [902423] rsync: [sender] write error: Broken pipe (32)
2023/06/21 03:05:28 [902423] sent 8888398299 bytes received 24769 bytes total size 43016448521
2023/06/21 03:05:28 [902423] rsync error: unexplained error (code 255) at io.c(823) [sender=3.2.3]
今、インターネットに来たような気がします。それとも、私が正しいキーワードを検索していないからかもしれません。
私は成功せずに送信ホストに追加しようとしましたServerAliverInterval
。他の人は、これが記憶力の欠如と関連している可能性があると思います。これをテストする方法を完全に確信することはできませんが、送信ホストと受信側のメモリ使用量を観察し続けており、それも問題にならないようです。繰り返しますが、私はこれをどのように決めるべきかわかりません。ServerAliveCountMax
~/.ssh/config
一部の人はrsyncの代わりにscpを使用することをお勧めします。私はrsyncのいくつかの機能(ファイルの一致など)を使用したいので、変更のアイデアは気に入らません。
また、これが何らかの形で動作する必要があるため、変更する理由はありません。
私の設定に関するいくつかの情報は次のとおりです。
- 送信者:Proxmox VM(ドッカーホスト)
- 4つのCPUコア(i5-8259Uで動作するProxmoxホスト)
- 6GB RAM(通常は500MBの空きRAM + 4GBのスワップスペース)
- 受信機:ラズベリーパイ4B
- 4GB RAM
VMは完全に更新されたDebianを実行しており、Raspberry PiはRaspbian OSを実行しています。やはり完全に更新されました。また、両方のホストのrsyncバージョンが同じであることに注意してください。
rsyncの実行中に継続的なpingを試みます。これはネットワーク問題の兆候を示していません。
また、送信システムで受信者として別のSSHセッションを試みました。ファイル転送が失敗しても、この接続は失われません。
これを行うために私が何を試すことができるかを知っている人はいますか?
これは私のスクリプトです。
#!/bin/bash
# Check if script has root privileges #
if [[ "$EUID" -ne '0' ]]
then echo "Missing root privileges"
exit
fi
if [[ "$EUID" -eq '0' ]]; then
echo "Root privileges - check"
if ! rsync -caPv --log-file="/home/user/backup-outputs/datalibrary-transfer-$(date +"%d%m%Y").log" '/srv/docker/datalibrary/' [email protected]:"/home/backup/backup-stuff/datalibrary-$(date +"%d%m%Y")/" ; then
mv "/home/user/backup-outputs/datalibrary-transfer-$(date +"%d%m%Y").log" "/home/user/backup-outputs/datalibrary-transfer-$(date +"%d%m%Y")-failed.log"
fi
else
echo "Unknown error" > /home/user/backup-outputs/error.log
fi
両方のホストのrsyncバージョンは次のとおりです。
VM:
rsync version 3.2.3 protocol version 31
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
symtimes, prealloc, stop-at, no crtimes
Optimizations:
SIMD, asm, openssl-crypto
Checksum list:
xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
zstd lz4 zlibx zlib none
回転速度:
rsync version 3.2.3 protocol version 31
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
symtimes, prealloc, stop-at, no crtimes
Optimizations:
no SIMD, no asm, openssl-crypto
Checksum list:
xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
zstd lz4 zlibx zlib none