如何低成本备份数据库?
概述
注意该方法仅适用于类似 SQLite 的单文件型的数据库。
此博客系统使用 SQLite 作为数据库,那么我要如何保证自己的数据不丢失呢?定时备份。
但是云服务商的快照要收费,有没有什么成本低效果好的方法呢?想什么呢?
还真有,利用 Windows 自带的任务计划程序,每隔固定时间使用 scp 将数据库从服务器端下载到本地计算机。
具体步骤
首先,为了下载文件以及隐藏窗口,我们需要创建以下两个脚本:
run.vbs
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "D:\Backup\Blog\backup.bat" & Chr(34), 0
Set WshShell = Nothing
backup.bat
scp username@domain:path/to/data.db ./
或者是(下面这个日期获取方式可能在非英文系统上运行不正常)
set day=%Date:~3,2%
scp username@domain:path/to/data.db ./"day-%day%.db"
其次,在 Windows 的任务计划程序中创建一个新任务,设置触发器为每天固定时间触发,action 为执行上面的 vbs 脚本,注意设置好工作目录。
以上。
Links: 如何低成本备份数据库?