Neliels skripts, lai izveidotu mapes backupu noteiktos laikos, un glabātu noteiktu dienu skaitu.

fails backup.sh

#!/bin/sh
cd /home/lietotajs/backups
tar -zcvf latest-backup.tgz /folderis/ko/backupot
mv latest-backup.tgz $(date +%y%m%d%H)-backup.tgz
find . -name '*-backup.tgz' -mtime +5 -delete

Tātad paskaidrojums -

1) aiziet uz mapi, kur glabāsies backupi

2) izveido arhīvu no norādītās mapes

3) pārsauc failu, lai tā nosaukumā būtu datums un laiks

4) izdzēš failus, kuri ir vecāki par norādīto dienu skaitu (5), lai neglabātu ļoti vecus failus un lieki neaizņemtu vietu

 

Tālāk labojam /etc/crontab

Un pievienojam rindu:

45 4 * * * root /home/lietotajs/backup.sh

Protams, nomainam pareizo ceļu. Root lietotāju var nomainīt pret jebkuru citu, kuram ir lasīšanas tiesības mapē, kuru vajag backupot, un rakstīšanas tiesības backup.sh norādītajā mapē, kur tās saglabā. root var lasīt un rakstīt visur.

Saglabā failu, un ja visi ceļi in ir norādīti pareizi, visam būtu jāstrādā smile_mini.gif

Ja neesi pazīstams ar cron laikiem - pirmās 5 kolonnas ir laiks:

minūtes stundas diena(mēneša) mēnesis diena(nedēļas)

Tātad konkrētā rinda veidos backupu katru dienu, 4:45 no rīta.

Laboja mad, labots 9x