Действительно, проблема с прерыванием копирования больших файлов через rsync на S3, подключенный через FUSE (например с подключением к /mnt/s3), действительно может возникать. Это связано с тем, что FUSE-монтирование S3 (например, через s3fs или goofys) не всегда стабильно работает с большими файлами, особенно если сеть нестабильна или возникают тайм-ауты.
sudo apt install rclone # Для Debian/Ubuntu sudo yum install rclone # Для CentOS/RHEL
[my_s3]
type = s3
provider = Other
env_auth = false
access_key_id = <S3 Access Key>
secret_access_key = <S3 Secret Access Key>
endpoint = https://s3.mycloud.ru
rclone configСледуй инструкциям, чтобы добавить S3-хранилище. Тебе нужно будет указать:
rclone copy /var/lib/vz/dump/vzdump-qemu-301-* my_s3:backup/301/ --progress --transfers=4 --s3-upload-concurrency=4Здесь:
#!/bin/bash # Конфигурация rclone: .config/rclone/rclone.conf # Используем screen для возможности подключения и наблюдения за процессом в задаче, если он затянулся. # Удаляем файлы старше 3 дней. # Это может быть актуально, если вы используете rclone copy. # Если место на S3 ограничено, но необходимо вместить максимальное количество файлов, логично сначала удалить лишние. # Если место позволяет, удалять можно после копирования; в данном случае это просто пример. screen -dmS find_301 rclone delete my_s3:3c5888be-7e0fd86e2e80/backup/301/ --include "vzdump-qemu-301-*.zst" --min-age 3d --log-file=/var/log/copy_s3/backup_301.log --log-level INFO # Копируем или синхронизируем бэкапы на S3 в зависимости от ваших задач по выбранной ВМ. screen -dmS backup_301 rclone copy -vP /var/lib/vz/dump/ my_s3:3c5888be-7e0fd86e2e80/backup/301/ --progress --log-file=/var/log/copy_s3/backup_301.log --transfers=4 --s3-upload-concurrency=4 --include "vzdump-qemu-301-*.zst" screen -dmS backup_100 rclone sync -vP /var/lib/vz/dump/ my_s3:3c5888be-7e0fd86e2e80/backup/100/ --progress --log-file=/var/log/copy_s3/backup_100.log --transfers=4 --s3-upload-concurrency=4 --include "vzdump-qemu-100-*.zst" # Оставляем последние 90 строк в файлах логов. # Как правило, одна задача занимает до 15 строк. # Чтобы избежать разрастания логов, очищаем неактуальную информацию. # Можно использовать, например, logrotate, но насколько это нужно — решайте сами. Это всего лишь пример. find /var/log/copy_s3/ -type f -name "backup*.log" -exec sh -c 'tail -n 90 "{}" > "{}.tmp" && mv "{}.tmp" "{}"' ;Когда использовать rclone sync:
Что такое IT-GIT?
«IT» — это не просто технологии, а целый мир инноваций и решений, направленных на преодоление сложностей. Мы представляем экспертность в области информационных технологий и широкой технологической экосистемы, стремясь к постоянному развитию и совершенствованию.
«Git» — это отсылка к одной из самых популярных систем контроля версий, которая обеспечивает эффективное сотрудничество, быструю итерацию и надежное управление сложными проектами. Мы стремимся объединить и поделиться опытом и идеями специалистов в сфере технологий, создавая пространство для обмена знаниями.
Инновационные технологии + совместный опыт экспертов в области технологий = путь к успеху!