SQLAdmin自动化运维落地指南
一 工具定位与总体思路
二 自动化运维蓝图
三 备份与定时任务的落地示例
Ubuntu 上使用 sqladmin 命令行做备份(示例)
[database]
host = your_db_host
port = your_db_port
username = your_db_user
password = your_db_password
database = your_db_name
#!/usr/bin/env bash
set -Eeuo pipefail
BACKUP_PATH="/var/backups"
DATE=$(date +"%Y%m%d%H%M%S")
BACKUP_FILE="$BACKUP_PATH/backup_$DATE.sql"
mkdir -p "$BACKUP_PATH"
if sqladmin -h "$DB_HOST" -P "$DB_PORT" -U "$DB_USER" -p "$DB_PASS" -d "$DB_NAME" -o "$BACKUP_FILE"; then
echo "Backup succeeded: $BACKUP_FILE"
# 可选:压缩与校验
gzip "$BACKUP_FILE"
ls -lh "${BACKUP_FILE}.gz"
else
echo "Backup failed" >&2
exit 1
fi
赋权:sudo chmod +x /usr/local/bin/backup_database.sh 3) 定时任务(每天 02:00 执行)
# crontab -e
0 2 * * * /usr/local/bin/backup_database.sh >> /var/log/sqladmin/backup.log 2>&1
批量与标准化交付(Ansible 示例)
- hosts: db_servers
become: yes
vars:
sqladmin_cfg: /etc/sqladmin/sqladmin.conf.j2
tasks:
- name: Install sqladmin
apt:
name: sqladmin
state: present
update_cache: yes
- name: Render config
ansible.builtin.template:
src: "{{ sqladmin_cfg }}"
dest: /etc/sqladmin/sqladmin.conf
notify: restart sqladmin
handlers:
- name: restart sqladmin
service:
name: sqladmin
state: restarted
四 监控与告警的落地示例
五 常见误区与选型建议