From database-backup-automator
Generates backup scripts for PostgreSQL, MySQL, MongoDB, and SQLite with scheduling, compression, encryption, retention policies, and restore procedures.
How this skill is triggered — by the user, by Claude, or both
Slash command
/database-backup-automator:automating-database-backupsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate production-ready backup scripts for PostgreSQL, MySQL, MongoDB, and SQLite with compression, encryption, scheduling, and retention policies.
assets/README.mdconfig/settings.yamlreferences/README.mdreferences/backup_best_practices.mdreferences/cron_syntax.mdreferences/mongodb_backup_restore.mdreferences/mysql_backup_restore.mdreferences/postgresql_backup_restore.mdreferences/sqlite_backup_restore.mdscripts/README.mdscripts/backup-monitoring.shscripts/backup_scheduler.pyscripts/backup_script_generator.pyscripts/backup_validator.pyscripts/restore_script_generator.pyGenerate production-ready backup scripts for PostgreSQL, MySQL, MongoDB, and SQLite with compression, encryption, scheduling, and retention policies.
#!/bin/bash
set -euo pipefail
BACKUP_DIR="/var/backups/postgresql"
DB_NAME="mydb"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_${DATE}.sql.gz"
pg_dump -h localhost -U postgres -d "$DB_NAME" \
--format=custom \
--compress=9 \
--file="$BACKUP_FILE"
# Encrypt with GPG (optional)
gpg --symmetric --cipher-algo AES256 --batch --passphrase-file /etc/backup.key "$BACKUP_FILE"
rm "$BACKUP_FILE"
#!/bin/bash
BACKUP_DIR="/var/backups/mysql"
DB_NAME="mydb"
DATE=$(date +%Y%m%d_%H%M%S)
mysqldump -h localhost -u root -p"${MYSQL_PASSWORD}" \
--single-transaction \
--routines \
--triggers \
"$DB_NAME" | gzip > "${BACKUP_DIR}/${DB_NAME}_${DATE}.sql.gz"
#!/bin/bash
mongodump --uri="mongodb://localhost:27017" \ # 27017: MongoDB port
--db=mydb \
--out=/var/backups/mongodb/$(date +%Y%m%d_%H%M%S) \
--gzip
Ask the user for:
Use scripts/backup_script_generator.py to create a customized backup script:
python3 ${CLAUDE_SKILL_DIR}/scripts/backup_script_generator.py \
--db-type postgresql \
--database mydb \
--output /opt/backup-scripts/mydb-backup.sh \
--compression gzip \
--encryption gpg
Use scripts/backup_scheduler.py to create cron entries:
python3 ${CLAUDE_SKILL_DIR}/scripts/backup_scheduler.py \
--script /opt/backup-scripts/mydb-backup.sh \
--schedule "0 2 * * *" \
--user postgres
After backup completes, validate integrity:
python3 ${CLAUDE_SKILL_DIR}/scripts/backup_validator.py \
--backup-file /var/backups/postgresql/mydb_20250115.sql.gz \
--db-type postgresql
Create matching restore script:
python3 ${CLAUDE_SKILL_DIR}/scripts/restore_script_generator.py \
--db-type postgresql \
--database mydb \
--output /opt/backup-scripts/mydb-restore.sh
| Schedule | Cron Expression | Description |
|---|---|---|
| Daily 2 AM | 0 2 * * * | Low-traffic window |
| Every 6 hours | 0 */6 * * * | Frequent backups |
| Weekly Sunday | 0 2 * * 0 | Weekly full backup |
| Monthly 1st | 0 2 1 * * | Monthly archive |
# Keep daily backups for 7 days
# Keep weekly backups for 4 weeks
# Keep monthly backups for 12 months
find /var/backups -name "*.gz" -mtime +7 -delete # Daily cleanup
find /var/backups/weekly -mtime +28 -delete # Weekly cleanup
find /var/backups/monthly -mtime +365 -delete # 365: Monthly cleanup
| Error | Cause | Solution |
|---|---|---|
| Connection refused | DB not running | Check service status: systemctl status postgresql |
| Permission denied | Wrong credentials | Verify user has backup privileges |
| Disk full | No space | Check space: df -h, clean old backups |
| Lock timeout | Active transactions | Use --single-transaction for MySQL |
${CLAUDE_SKILL_DIR}/references/postgresql_backup_restore.md - PostgreSQL backup guide${CLAUDE_SKILL_DIR}/references/mysql_backup_restore.md - MySQL backup guide${CLAUDE_SKILL_DIR}/references/mongodb_backup_restore.md - MongoDB backup guide${CLAUDE_SKILL_DIR}/references/sqlite_backup_restore.md - SQLite backup guide${CLAUDE_SKILL_DIR}/references/backup_best_practices.md - Security and storage best practices${CLAUDE_SKILL_DIR}/references/cron_syntax.md - Cron scheduling referenceAutomate database backup processes with scheduling, compression, and encryption.
Basic usage: Apply automating database backups to a standard project setup with default configuration options.
Advanced scenario: Customize automating database backups for production environments with multiple constraints and team-specific requirements.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin database-backup-automatorImplements backup strategies for databases, filesystems, and cloud resources using tar, rsync, pg_dump, AWS S3. Automates scheduling, retention, encryption, verification, and disaster recovery.
Generates Odoo backup and restore scripts for PostgreSQL databases, filestore archives, cron automation, S3 uploads, and full restore procedures. Use for production Odoo server reliability.
Automates backups and disaster recovery for FairDB databases using tar, rsync, and AWS S3. Generates scripts for retention policies, cron scheduling, and verified restores.