Min.io Администрирование¶
Установка min.io Клиент¶
wget https://dl.min.io/client/mc/release/linux-amd64/mc
cp mc /usr/bin/m-c
chmod +x /usr/bin/m-c
m-c alias set localhost http://localhost:39199 "login" "password"
m-c admin policy list localhost
m-c admin user add localhost
m-c mb localhost/someclient
Установка доступа¶
Создадим файл someclient.policy
{
"Version": "2022-07-26",
"Statement": [
{
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::someclient"
],
"Sid": ""
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::someclient/*"
],
"Sid": ""
}
]
}
m-c admin policy add localhost someclient-policy someclient.policy
m-c admin policy set localhost someclient-policy user=someclient
Резервное копирование на сервер¶
Пропишем алиас
m-c alias set somevendor http://somevendor.example.com:39199 "someclientlogin" "someclientpassword"
Создадим Файл ~/.pgpass
hostname:port:database:username:password
#!/bin/bash
dump=someclient_test_$(date +"%Y-%m-%d-%H-%M-%S")
local_dump=/home/someclient_user/$dump
pg_dump --verbose --host=127.0.0.1 --port=5432 -U someclient_test --format=c --no-privileges --no-owner --file $local_dump
m-c cp $local_dump somevendor/someclient_test/dumps/
m-c rm --force --older-than 10d somevendor/someclient_bucket/dumps/
Добавим в планировщик /etc/crontab
0 2 * * * someclient_user /opt/damu/scripts/create_backup_to_vendor.sh