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

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

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

비슷한 질문에서 누군가가 제안했습니다.백업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플래그를 사용하십시오.

관련 정보