我们有基于beaglebone黑色的定制板,
我们正在添加以不同于root用户身份运行的应用程序。
该应用程序拥有sqlite数据库,并启用了日志。
但是root用户需要备份该数据库并保留其文件属性,例如用户,组和权限。
现在我使用以下命令备份sqlite数据库,但未维护用户和组之类的文件属性文件权限相同,请检查以下命令,
# ls -l
-rw-r--r-- 1 ankur ankur 12288 Dec 20 15:46 testdb.sqlite
#
#
#
# sqlite3 testdb.sqlite ".backup testdb_backup.sqlite"
# ls -l
-rw-r--r-- 1 ankur ankur 12288 Dec 20 15:46 testdb.sqlite
-rw-r--r-- 1 root root 12288 Dec 20 15:47 testdb_backup.sqlite
是否有其他命令(或选项)进行备份并维护文件属性?
选项之一是进行备份并将源文件属性复制到目的地(备份数据库)。
但是busybox cp
不支持。
还有其他建议/指针吗?
答案 0 :(得分:1)
使用su
或sudo
来执行应表现为用户已执行的动作。
在这种情况下,例如
su -c 'sqlite3 testdb.sqlite ".backup testdb_backup.sqlite"' ankur
和
sudo -u ankur sqlite3 testdb.sqlite ".backup testdb_backup.sqlite"
su
可以作为busybox命令使用,如果您的环境在启用该功能的情况下无法构建busybox,则可能需要启用它。