【发布时间】:2018-11-06 01:22:52
【问题描述】:
我正在尝试将 RocksDB 数据备份到新目录。
目前我所有的数据都在/mnt/my_rocksdb_dir 我正在尝试将数据移动到/mnt/my_rocksdb_dir2
但是,简单地将目录复制到一个新目录是行不通的,因为rocksdb本身在读取旧文件时会出现异常
/mnt/my_rocksdb_dir2/LOCK: Permission denied
at org.rocksdb.RocksDB.open(Native Method)
新的LOCK文件/mnt/my_rocksdb_dir2/LOCK有root权限,旧的有用户权限
备份rocksdb数据的正确方法是什么?
【问题讨论】:
-
您已经检查了权限,您是否尝试过使用 chmod 更改权限?您可以使用 chmod 777 (使所有人都可以访问该目录),只需确保完成后将其还原。
-
您在复制期间正在做某事,例如以更改文件的root身份运行它。复制 RocksDB 目录通常应该可以工作,尽管也有一些备份工具可以执行一些清理并支持增量备份。尝试在存档模式下使用 rsync (-a),这意味着 -ptgo 保留文件权限、时间戳、组和所有者来进行复制。