Overview
SMAF requires comprehensive backup strategies covering both the MySQL database and the file system containing uploaded documents (XML files, PDFs, and images). This guide provides procedures for backup, restore, and disaster recovery operations.Database Backup
MySQL Database Structure
SMAF uses MySQL (version 5.6.17+) with the following key databases:- inapesca_cripsc - Main SMAF database (commissions, payments, users)
- dgaipp - DGAIPP module database
- contratos - Contracts module database
- modulo_consulta - Query module database
Automated Database Backup
Manual Database Backup
For immediate backup needs:Key Tables for Backup Priority
Critical SMAF Tables
Critical SMAF Tables
User and Authentication:
crip_usuarios- User accountscrip_job- User job assignmentsvw_usuarios- User view (used for login)
crip_comision- Commission recordscrip_comision_detalle- Commission detailscrip_comision_comprobacion- Commission verificationscrip_comision_itinerario- Itinerariescrip_xml_detalle- XML invoice details
crip_referencia- Payment referencescrip_referenciaDetalles- Payment reference detailscrip_ministracion- Budget allocationscrip_pef- Federal expenditure budget
crip_dependencia- Administrative unitscrip_area- Areascrip_proyectoexterno- Projectscrip_programas- Programscrip_partidas- Budget items
File System Backup
File Storage Structure
SMAF stores documents in the following structure:Automated File Backup
Critical File Types
XML Files
CFDI invoices (versions 3.3 and 4.0) uploaded for expense verification. Located in
/XML/{Year}/{User}/PDF Documents
Commission notices, payment receipts, and supporting documentation. Located in
/PDF/{Year}/{Center}/Images
Institutional logos and uploaded images. Located in
/Images/Excel Files
Budget data imports and reports. Located in
/Excel/Configuration Backup
Web.config Backup
Theweb.config file contains encrypted database connection strings:
Connection strings in
web.config are encrypted using MngEncriptacion.cs. Ensure encryption keys are also backed up securely.localhost- Main database connectionlocalhost_dgaipp- DGAIPP database connectionlocalhostContratos- Contracts database connectionserveFtp,usserFtp,passFtp- FTP credentials
Database Restoration
Restore from Backup
Restore Specific Tables
To restore only specific tables:File System Restoration
Restore Files
Restore Specific Year
To restore documents for a specific year only:Disaster Recovery Planning
Recovery Time Objectives (RTO)
Database Recovery
Target RTO: 2 hoursIncludes database restoration and verification
File System Recovery
Target RTO: 4 hoursIncludes file restoration and permissions
Full System Recovery
Target RTO: 8 hoursComplete system rebuild and restoration
Configuration Recovery
Target RTO: 30 minutesWeb.config and connection strings
Disaster Recovery Procedures
Assess the situation
- Determine scope of data loss
- Identify last successful backup
- Verify backup integrity
- Document the incident
Prepare recovery environment
- Ensure MySQL server is operational
- Verify IIS is configured
- Check disk space availability
- Prepare backup files
Execute restoration
- Restore database from most recent backup
- Restore file system from most recent backup
- Restore configuration files
- Apply any transaction logs (if available)
Verify and test
- Test user authentication
- Verify commission data integrity
- Check XML file accessibility
- Test payment reference generation
- Validate PDF document access
Data Retention Policies
Backup Retention Schedule
| Backup Type | Frequency | Retention Period | Storage Location |
|---|---|---|---|
| Database | Daily | 30 days online, 1 year archive | /var/backups/smaf/mysql |
| Files | Daily | 90 days online, 2 years archive | /var/backups/smaf/files |
| Configuration | Weekly | 1 year | /var/backups/smaf/config |
| Full System | Monthly | 3 years | Off-site storage |
Legal Retention Requirements
Per Mexican Federal Public Administration regulations:Financial Records: Commission records, payment references, and XML invoices must be retained for a minimum of 5 years from the fiscal year end for audit purposes.
- Commission records (
crip_comision) - 5 years - XML invoices (
crip_xml_detalle) - 5 years - Payment references (
crip_referencia) - 5 years - User activity logs - 2 years
- Budget allocations (
crip_pef) - 7 years
Off-Site Backup Strategy
Remote Backup Configuration
Cloud Storage Integration
For additional redundancy, consider cloud storage:Backup Verification
Automated Verification Script
Monthly Restoration Test
Schedule monthly restoration tests:Monitoring and Alerts
Backup Monitoring
Monitor backup success:Alert Configuration
Configure email alerts for backup failures:Related Resources
System Monitoring
Monitor backup job execution and system health
Troubleshooting
Resolve common backup and restore issues