有哪些选项可以“原子地”暂存不同的文件(没有 ZFS)

有哪些选项可以“原子地”暂存不同的文件(没有 ZFS)

我需要备份一个 SQLite3 DB,以匹配其他写入磁盘的应用程序的状态,此外保险库使用文件系统作为后端。

我需要在没有虚拟文件系统所以没有快照可以被采取。

目前正在尝试使用类似这样的基本脚本:

DAY=$(date +%d)

TDIR=$(mktemp -d)
cleanup() {
    test -n "${TDIR}" && test -d "${TDIR}" && rm -rf "${TDIR}"
}
trap cleanup EXIT

# define and create the working directory
WRKDIR="${TDIR}/${DAY}"
mkdir "${WRKDIR}"

# take dump of the sqlite db
sqlite3 /data/data/test.db ".backup '${WRKDIR}/test.db'"

# backup the vault keys
cp -R /data/vault/ ${WRKDIR}/vault

# backup logs
cp -R /data/logs/ ${WRKDIR}/logs

相关内容