在Ubuntu上备份SQL Server数据库可以通过多种方法实现,以下是详细的步骤:
sqlcmd
进行手动备份安装必要的工具:
确保你已经安装了 sqlcmd
和 unixodbc-dev
。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
创建备份脚本:
创建一个备份脚本文件,例如 backup_mssql.sh
:
#!/bin/bash
# 设置备份目录
BACKUP_DIR="/var/opt/mssql/data/backup"
# 数据库信息
DB_SERVER="localhost"
DB_USER="sa"
DB_PASSWORD="your_password"
DB_NAME="YourDatabaseName"
# 执行完全备份
/opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP DATABASE $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_full.bak' WITH INIT, SKIP, NAME 'Full Backup'"
# 执行差异备份
/opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP DATABASE $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_diff.bak' WITH DIFFERENTIAL, INIT, SKIP, NAME 'Differential Backup'"
# 执行日志备份
/opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP LOG $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_log.bak' WITH INIT, SKIP"
赋予脚本执行权限:
chmod +x /path/to/backup_mssql.sh
运行备份脚本:
./backup_mssql.sh
crontab
进行自动备份编辑 crontab
:
使用 crontab -e
编辑当前用户的 crontab
文件:
crontab -e
添加定时任务: 添加以下行以每天凌晨执行备份脚本:
0 0 * * * /path/to/backup_mssql.sh
可以使用 rclone
将备份文件同步到远程服务器或数据中心:
安装 rclone
:
sudo apt-get install rclone
配置 rclone
:
根据你的需求配置 rclone
,例如将备份文件同步到 MinIO 服务器:
rclone sync /var/opt/mssql/data/backup minio:database-180
希望这些步骤能帮助你在Ubuntu上成功备份SQL Server数据库。如果有任何问题,请参考相关的文档或寻求社区帮助。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: ubuntu如何查看硬盘数量