Baze de date

Cum automatizezi backup-ul bazei de date cu cron

Actualizat 7/20/2026

Un backup pe care trebuie să ți-l amintești nu este un backup. Cu cron, baza ta de date se salvează singură în fiecare noapte. Iată cum.

1. Scriptul de backup

Creează /usr/local/bin/backup-db.sh. Exemplu pentru MySQL, cu ștergerea automată a arhivelor mai vechi de 14 zile:

#!/bin/bash
DEST=/var/backups/mysql
mkdir -p "$DEST"
STAMP=$(date +%F)
mysqldump -u root -pPAROLA app_db | gzip > "$DEST/app_db-$STAMP.sql.gz"
find "$DEST" -name '*.sql.gz' -mtime +14 -delete

Pentru PostgreSQL, înlocuiește linia de dump cu:

pg_dump -U postgres app_db | gzip > "$DEST/app_db-$STAMP.sql.gz"

2. Fă-l executabil

chmod +x /usr/local/bin/backup-db.sh

3. Programează-l în cron

Rulează crontab -e și adaugă o linie pentru fiecare noapte la 3:00:

0 3 * * * /usr/local/bin/backup-db.sh

4. Trimite backup-ul în afara serverului

Un backup pe același server nu te salvează dacă serverul cade. Copiază arhivele pe un Backup Box, montat ca disc suplimentar prin SSHFS sau SMB. Adaugă la finalul scriptului:

rsync -a "$DEST/" /mnt/backup/mysql/

Verifică restaurarea

Un backup netestat nu contează. Vezi ghidurile pentru MySQL și PostgreSQL pentru pașii de restaurare.

Pune ghidul în practică pe un VPS propriu

Servere cloud în UE, facturate la oră, gata în câteva minute, cu instalare cu un click pentru zeci de aplicații.

Vezi prețurile

Tutoriale similare