Ei, un mini-manual para realizar la configuracion de restic en Linux sobre un Bucket S3
- Lo primero instalar Restic
apt-get install restic
- Lo siguiente será configurarnos las variables para la posterior conexión al Bucket, para ello editamos nuestro bashrc del perfil de usuario, desde donde vamos a lanzar la tarea.
**Nombre de la región donde esta ubicado el bucket de S3 («Endpoint»)
RESTIC_REPOSITORY=s3:https://s3.eu-west-1.amazonaws.com/XXXXXXXXXXXXXXXXX
**Nombre de nuestro bucket
AWS_ACCESS_KEY_ID=AKKKKKKKKKKKKK1
**Usuario de acceso con privilegios de acceso sobre ese bucket
AWS_SECRET_ACCESS_KEY=A1111111111111111111111111111
**Clave de acceso del usuario
RESTIC_PASSWORD=11111111111111111111111111111111
**Clave de cifrado de la copia de RESTIC, !GUARDALA BIEN¡ JEJE, sino estas jodido 🙂
- Una vez editado el fichero, le pegamos una actualización para que pille los nuevos cambios.
source .bashrc
- Ahora tocara inicializar el Bucket, «Este proceso, lo que hace es generar el bucket dentro de S3», para ello lo que recomiendo es que en el usuario que nos generemos para el Restic, tenga evidentemente privilegios de creación, lectura, etc pero solo sobre este Bucket!!!
Ejemplo de la política, aquí cambiar únicamente el acceso nombre del bucket
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3BucketCreate",
"Effect": "Allow",
"Action": [
"s3:CreateBucket"
],
"Resource": "*"
},
{
"Sid": "S3BucketAccess",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::bucket-test",
"arn:aws:s3:::bucket-test/*"
]
}
]
}
O la otra opción es generar nosotros el bucket y solo darle permisos, sin mas
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket-test",
"arn:aws:s3:::bucket-test/*"
]
}
]
}
Una vez tengamos definida la política y asignada al usuario dentro del IAM, inicializamos el bucket con Restic.
restic init **Lanzar un backup de prueba.. restic backup -q /home/test/datos
Comandos y configuraciones útiles en Restic
Definir CRON (Todos los días a las 22.00, dejando únicamente 2 snaps)
0 22 * * * restic backup -q /home/test/datos; restic forget -q --keep-last 2 --prune
Listar Snapshots
restic snapshots -r s3:s3.amazonaws.com/bucket
Restauracion de directorio
restic restore -r s3:s3.amazonaws.com/bucket --target /tmp/restored
Y con esto ya estaría para empezar 😉 , iré añadiendo mas