Script de backup incremental (hospedagem compartilhada)

Script de backup incremental (hospedagem compartilhada)

Por favor, considere que não sou administrador de sistemas, portanto tenho experiência limitada com as ferramentas envolvidas. Sei que há perguntas semelhantes, mas não consigo encontrar nada que atenda às minhas necessidades.

Em uma pergunta semelhante, alguém sugeriubackup2lmas parece desatualizado e não está bem documentado. (Eu preciso de algo comoessemas incremental)

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

Alvo
Eu gostaria de fazer um backup incremental dopúblico_htmldiretório do meu site.
A ideia é 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

então no início de dezembro.2015-10ser excluído e2015-12seja criado.

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

No 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"

Responder1

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

Eu recomendordiff-backuppara essas coisas.

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

informação relacionada