Storage tools
Серия команд wal-g st
позволяет взаимодействовать со стороджами
Помни что потенциально эти команды могут все сломать, поэтому надо быть внимательным и понимать что делаешь
-
ls
- выводит список объектов в указанной папке
wal-g st ls
- список объектов
wal-g st ls -r
- рекурсивно
wal-g st ls some_folder/some_subfolder
- по указанному пути -
get
- скачивает указанный объект. По умолчанию попытается разжать и расшифровать (если настроенго)
Есть два очевидных флага:--no-decompress
--no-decrypt
-
cat
- выводит указанный файл на STDOUT. По умолчанию не разжимает и не расшифровывает. Полезно для всяких метаинформационных файлов
Есть два очевидных флага:--decompress
--decrypt
Пример:
wal-g st cat path/to/remote_file.json
-
rm
- удаляет объект
Пример:wal-g st rm path/to/remote_file
-
put
- загружает указанный файл в сторадж. По умолчанию попытается сжать и зашифровать (если настроено)
Есть два очевидных флага:--no-compress
--no-encrypt
Пример:
wal-g st put path/to/local_file path/to/remote_file
-
transfer
- переносит все файлы из одного стораджа в другой. Обычно используется для переноса файлов с failover-стораджа на primary
Аргумент один - путь до директории (на обоих стораджах) где лежат/будут лежать файлы которые должны быть перенесены
Флаги:-s (--source)
- имя исходного стораджа из которого нужно взять файлы. Для указания на primary используйdefault
(обязательный флаг)-t (--target)
- сторадж куда надо сохранить файлы (по умолчанию используетсяdefault
)-o (--overwrite)
- мувнуть файлы даже если они уже есть на таргете. Если этот флаг не указан и файлы есть и там и там, то ничего не произойдет. Надо помнить что наличие файлов на таргете проверяется в начале, и если файл появится на таргете в момент выполнения команды, то он может быть затерт даже если не указан флаг-o
--fail-fast
- остановит трансфер после первой же ошибки. Без этого флага он будет пытаться мувнуть все файлы. Независимо от наличия флага, exit-код команды будет нулевым только если все файлы успешно перенесены
Держи в уме что если файлы не перенеслись автоматически, то если этот флаг будет установлен, то ошибка произошедшая с одним файлом, может прекратить перенос остальных файлов по середине. Таким образом часть файлов будет перенесена на таргет сторадж, но не удалена с исходного-c (--concurrency)
- задает кол-во воркеров которые будут таскать файлы-m (--max)
- лимит файлов которые могут быть перенесены одним запуском команды--appearance-checks
- устанавливает проверки для файлов, которые должны быть перенесены в таргет сторадж, которые должны быть выполнены после переноса и перед удалением файла из исходного стораджа
Эта опция рекомендована для стораджей которые не гарантируют read-after-write consistency. Иначе перенос файла между такими стораджами может создать момент когда файл не существует на обоих стораджах, а это повлечет проблемы с восстановлением в этот период--appearance-checks-interval
- задает минимальный интервал между проверками того что файл появился на таргет-сторадже
Длительность задается в голанговскомtime.Duration
формате
Примеры:
wal-g st transfer / --source='my_failover_ssh' wal-g st transfer folder/single_file.json --source='default' --target='my_failover_ssh' --overwrite wal-g st transfer basebackups_005/ --source='my_failover_s3' --target='default' --fail-fast -c=50 -m=10000 --appearance-checks=5 --appearance-checks-interval=1s
No Comments