Script de backup incremental (hospedagem compartilhada)

1

Por favor, considere que eu não sou administrador de sistemas, então eu tenho apenas uma experiência limitada com as ferramentas envolvidas, eu sei que há uma questão semelhante, mas não consigo encontrar nada que atenda às minhas necessidades.

Em uma pergunta semelhante, alguém sugeriu backup2l , mas parece desatualizado e não está bem documentado. (Eu preciso de algo como isso mas incremental)

Então, eu gostaria de entender qual é a melhor solução pré-criada ou criar um script simples para essa tarefa. (infelizmente eu não sou bom em bash)

Alvo
Eu gostaria de fazer um backup incremental do diretório public_html do meu site.
A idéia é armazenar um backup incremental diariamente e armazenar apenas 1 mês (mas manter o mês anterior):

2015-10/  -> contains a full/incremental backup of last month
2015-11/  -> contains a full/incremental backup of current month

Assim, no início de dezembro 2015-10 , é excluído e 2015-12 é criado.

Cenário
Estou em um servidor compartilhado com ferramenta cli limitada (rsync / tar) e apenas 16gb.
Preciso fazer backup do meu site magento.
Como o código está hospedado em git estou interessado em manter backup diário apenas da pasta de mídia (exclua media/product/cache )

Neste momento, estou usando este script para criar um backup diário da pasta de mídia (mas não é incremental)

#!/bin/bash
# Daily backup script

# Create some needed variable
day=$(date +%F)
File="/home/me/backup/files_$day.tar.gz"
File_media="/home/me/backup/catalog_images_$day.tar.gz"
Folder="/home/me/"
Exclude_media_cache="public_html/media/catalog/product/cache"

# Backup Media
echo "-- Creating Catalog Image Backup ..."
tar -pczf $File_media -C $Folder public_html/media/catalog --exclude="$Exclude_media_cache"
    
por Francesco 31.10.2015 / 03:44

1 resposta

3

Este é um problema muito comum para rodar scripts de shell. Use uma das muitas ferramentas projetadas para o propósito.

Eu recomendo rdiff-backup para essas coisas.

Para controlar a quantidade de backups incrementais criados e, portanto, controlar o espaço em disco, use seu --remove-older-than flag.

    
por 31.10.2015 / 04:08