ዴቭኦፕስ እና የመተግበሪያ ዝርጋታ
የዳታቤዝ ምትኬ (Backup) እና አደጋ ማገገሚያ መመሪያ
የPostgreSQL ዳታቤዝ ምትኬዎችን በራስ-ሰር መውሰድ፣ የተማሪዎችን ሰነዶች መጠበቅ እና ድንገተኛ አደጋ ሲከሰት ስርዓቱን በፍጥነት የማስመለስ ሂደት።
የዳታቤዝ ምትኬ (Backup) እና አደጋ ማገገሚያ መመሪያ
የትምህርት መረጃዎች እጅግ ውድ እና ሚስጥራዊ ናቸው። የተማሪዎች የትምህርት ማስረጃዎች፣ የክፍያ ደረሰኞች እና የዕለት ተዕለት የቅጽ መረጃዎች በድንገተኛ የሃርድዌር ብልሽት ወይም የሰው ስህተት እንዳይጠፉ የተጠናከረ የምትኬ ስርዓት መዘርጋት አስፈላጊ ነው።
1. የዳታቤዝ ምትኬን በየቀኑ በራስ-ሰር መውሰድ
ይህን ስክሪፕት በየቀኑ ሌሊት 8:00 ሰዓት (2:00 AM) እንዲሰራ በሰርቨሩ ላይ ያዋቅሩ፦
#!/usr/bin/env bash
set -eo pipefail
BACKUP_DIR="/var/backups/yeneschool"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="${BACKUP_DIR}/yeneschool_db_${TIMESTAMP}.sql.gz"
mkdir -p "${BACKUP_DIR}"
# ምትኬውን በቀጥታ ከPostgreSQL መያዣ መውሰድ
docker exec -t sms_postgres pg_dump -U yene_admin -d yeneschool_production --clean --if-exists | gzip > "${BACKUP_FILE}"
# ከ30 ቀናት በላይ የቆዩ አሮጌ ምትኬዎችን ማጽዳት
find "${BACKUP_DIR}" -name "yeneschool_db_*.sql.gz" -type f -mtime +30 -delete
2. ስርዓቱን ከምትኬ ፋይል መልሶ ማቋቋም (Restore)
ብልሽት ሲያጋጥም ወይም አዲስ ሰርቨር ላይ መረጃውን ለመመለስ፦
# ዳታቤዙን ማስጀመር
docker compose up -d postgres
# የተጨመቀውን ምትኬ ወደ ዳታቤዙ ማስገባት
gunzip < /var/backups/yeneschool/yeneschool_db_20261007_020000.sql.gz | docker exec -i sms_postgres psql -U yene_admin -d yeneschool_production
# ሰርቨሮችን እንደገና ማስጀመር
docker compose restart backend frontend