증분 백업 스크립트(공유 호스팅)

증분 백업 스크립트(공유 호스팅)

저는 시스템 관리자가 아니기 때문에 관련된 도구에 대한 경험이 제한되어 있습니다. 비슷한 질문이 있다는 것을 알고 있지만 제 요구 사항에 맞는 것을 찾을 수 없습니다.

비슷한 질문에서 누군가가 제안했습니다.백업 2l그러나 구식으로 보이고 잘 문서화되지 않았습니다. (나는 다음과 같은 것이 필요합니다이것그러나 점진적)

그래서 저는 미리 조리된 최고의 솔루션이 무엇인지 이해하거나 이 작업을 위한 간단한 bash 스크립트를 만들려고 노력하고 있습니다. (아쉽게도 저는 bash를 잘 못해요)

표적
증분 백업을 하고 싶습니다.public_html내 웹사이트의 디렉토리입니다.
아이디어는 매일 증분 백업을 저장하고 1개월만 저장하는 것입니다(단, 이전 달은 유지).

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

그래서 12월 초에2015년 10월삭제되었고2015년 12월생성됩니다.

상상하다
내가 사용하고 있는 공유 서버의 cli 도구(rsync/tar)는 제한되어 있으며 16GB만 있습니다.
마젠토 웹사이트를 백업해야 합니다.
코드가 에서 호스팅되므로 git미디어 폴더의 일일 백업만 유지하고 싶습니다(제외 media/product/cache).

지금은 이 스크립트를 사용하여 미디어 폴더의 일일 백업을 생성하고 있습니다(증분은 아님).

#!/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"

답변1

이는 롤링 쉘 스크립트에서 매우 일반적인 문제입니다. 이 목적을 위해 설계된 많은 도구 중 하나를 사용하십시오.

나는 추천한다rdiff-backup이런 일을 위해.

생성되는 증분 백업의 양과 그에 따른 디스크 공간을 제어하려면 해당 --remove-older-than플래그를 사용하십시오.

관련 정보