Avatar
այս կայքն անկախ սպասարկիչ ունենալու, այն կառավարելու, հոսանքից անջատելու եւ միացնելու մասին է։

մտքեր backup-ի մասին

Իմ երազանքների բէքափը զերծ ա աւելորդ ֆայլերից։ Դա մօտաւորապէս այսպէս եմ պատկերացնում։ Մէկ անգամ անում եմ ՕՀ-ի ամբողջական բէքափ, որը միգուցէ կը պարունակի նաեւ իմ տուեալները։ Յաջորդ անգամները անում եմ միայն իմ կարգաւորումների ու անձնական տուեալների բէքափը։ Բայց այստեղ կայ մի խնդիր։ Ես չեմ ուզում պահել ծրագրերում օգտագործուած փաթեթները։ Դրանք զբաղեցնում են աւելորդ տեղ եւ ազդում են պահեստաւորման (backup-ի) արագութեան վրայ։

Դրա համար մտածում եմ ՕՀ-ի պանակներից բացի անտեսել նաեւ .gitignore-ում յաճախ հանդիպող պանակների անունները՝

tar czf /backup.tar.gz \
    --exclude=/backup.tar.gz \
    --exclude=/dev \
    --exclude=/mnt \
    --exclude=/var/cache \
    --exclude=/var/log \
    --exclude=/proc \
    --exclude=/sys \
    --exclude=/tmp \
    --exclude=/media \
    --exclude=/lost+found \
    --exclude=node_modules \
    --exclude=.jekyll-cache \
    --exclude=gems
    /

Վերականգման ժամանակ կարելի ա find /home -name '.gitignore'-ով գտնել անտեսուած փաթեթների հասցէները եւ ձեռքով վերատեղադրել։ Բայց սա այդքան էլ յուսալի ձեւ չէ։

Կարծես rsync-ը ունի հնարաւորութիւն .gitignore-ին լսելու, բայց երբեք չեմ փորձել՝

rsync -azP --delete --filter=":- .gitignore" . my-target-host:/my/target/directory

Ինչեւէ, դեռ շարունակում եմ մտածել էս մասին ու միգուցէ աւելի լաւ տարբերակ գտնեմ։


[թարմացում 02.04.2023]

Մի քիչ կարդացի rsync-ի մասին։ Հիմա օգտագործում եմ էս հրամանը՝

sudo rsync -av --delete --exclude-from="/backup/excludes.txt" / /backup/full

excludes.txt-ում ունեմ էսպիսի ցուցակ՝

/backup
node_modules
/var/cache/*
/var/log/*
/dev/*
/proc/*
/sys/*
/tmp/*
/run/*
/media/*
/lost+found

բոլոր պիտակները