Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Juicedata
JuiceFS
提交
0a5c8a1f
JuiceFS
项目概览
Juicedata
/
JuiceFS
通知
10
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
JuiceFS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
0a5c8a1f
编写于
6月 23, 2021
作者:
D
Davies Liu
提交者:
GitHub
6月 23, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cmd/dump: dump metadata into STDOUT (#551)
* dump metadata into STDOUT * update docs
上级
100aea23
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
19 deletion
+39
-19
cmd/dump.go
cmd/dump.go
+15
-9
cmd/load.go
cmd/load.go
+12
-6
docs/en/command_reference.md
docs/en/command_reference.md
+6
-2
docs/zh_cn/command_reference.md
docs/zh_cn/command_reference.md
+6
-2
未找到文件。
cmd/dump.go
浏览文件 @
0a5c8a1f
...
...
@@ -17,6 +17,7 @@ package main
import
(
"fmt"
"io"
"os"
"github.com/juicedata/juicefs/pkg/meta"
...
...
@@ -25,16 +26,21 @@ import (
func
dump
(
ctx
*
cli
.
Context
)
error
{
setLoggerLevel
(
ctx
)
if
ctx
.
Args
()
.
Len
()
<
2
{
return
fmt
.
Errorf
(
"META-ADDR
and FILE are
needed"
)
if
ctx
.
Args
()
.
Len
()
<
1
{
return
fmt
.
Errorf
(
"META-ADDR
is
needed"
)
}
m
:=
meta
.
NewClient
(
ctx
.
Args
()
.
Get
(
0
),
&
meta
.
Config
{
Retries
:
10
,
Strict
:
true
,
Subdir
:
ctx
.
String
(
"subdir"
)})
fname
:=
ctx
.
Args
()
.
Get
(
1
)
fp
,
err
:=
os
.
OpenFile
(
fname
,
os
.
O_CREATE
|
os
.
O_WRONLY
|
os
.
O_TRUNC
,
0644
)
if
err
!=
nil
{
return
err
var
fp
io
.
WriteCloser
if
ctx
.
Args
()
.
Len
()
==
1
{
fp
=
os
.
Stdout
}
else
{
var
err
error
fp
,
err
=
os
.
OpenFile
(
ctx
.
Args
()
.
Get
(
1
),
os
.
O_CREATE
|
os
.
O_WRONLY
|
os
.
O_TRUNC
,
0644
)
if
err
!=
nil
{
return
err
}
defer
fp
.
Close
()
}
defer
fp
.
Close
(
)
m
:=
meta
.
NewClient
(
ctx
.
Args
()
.
Get
(
0
),
&
meta
.
Config
{
Retries
:
10
,
Strict
:
true
,
Subdir
:
ctx
.
String
(
"subdir"
)}
)
return
m
.
DumpMeta
(
fp
)
}
...
...
@@ -42,7 +48,7 @@ func dumpFlags() *cli.Command {
return
&
cli
.
Command
{
Name
:
"dump"
,
Usage
:
"dump metadata into a JSON file"
,
ArgsUsage
:
"META-ADDR
FILE
"
,
ArgsUsage
:
"META-ADDR
[FILE]
"
,
Action
:
dump
,
Flags
:
[]
cli
.
Flag
{
&
cli
.
StringFlag
{
...
...
cmd/load.go
浏览文件 @
0a5c8a1f
...
...
@@ -18,6 +18,7 @@ package main
import
(
"fmt"
"io/ioutil"
"os"
"github.com/juicedata/juicefs/pkg/meta"
"github.com/urfave/cli/v2"
...
...
@@ -25,15 +26,20 @@ import (
func
load
(
ctx
*
cli
.
Context
)
error
{
setLoggerLevel
(
ctx
)
if
ctx
.
Args
()
.
Len
()
<
2
{
return
fmt
.
Errorf
(
"META-ADDR and FILE are needed"
)
if
ctx
.
Args
()
.
Len
()
<
1
{
return
fmt
.
Errorf
(
"META-ADDR is needed"
)
}
var
buf
[]
byte
var
err
error
if
ctx
.
Args
()
.
Len
()
==
1
{
buf
,
err
=
ioutil
.
ReadAll
(
os
.
Stdin
)
}
else
{
buf
,
err
=
ioutil
.
ReadFile
(
ctx
.
Args
()
.
Get
(
1
))
}
m
:=
meta
.
NewClient
(
ctx
.
Args
()
.
Get
(
0
),
&
meta
.
Config
{
Retries
:
10
,
Strict
:
true
})
fname
:=
ctx
.
Args
()
.
Get
(
1
)
buf
,
err
:=
ioutil
.
ReadFile
(
fname
)
if
err
!=
nil
{
return
err
}
m
:=
meta
.
NewClient
(
ctx
.
Args
()
.
Get
(
0
),
&
meta
.
Config
{
Retries
:
10
,
Strict
:
true
})
return
m
.
LoadMeta
(
buf
)
}
...
...
@@ -41,7 +47,7 @@ func loadFlags() *cli.Command {
return
&
cli
.
Command
{
Name
:
"load"
,
Usage
:
"load metadata from a previously dumped JSON file"
,
ArgsUsage
:
"META-ADDR
FILE
"
,
ArgsUsage
:
"META-ADDR
[FILE]
"
,
Action
:
load
,
}
}
docs/en/command_reference.md
浏览文件 @
0a5c8a1f
...
...
@@ -525,9 +525,11 @@ dump metadata into a JSON file
#### Synopsis
```
juicefs dump [command options] META-ADDR
FILE
juicefs dump [command options] META-ADDR
[FILE]
```
When the FILE is not provided, STDOUT will be used instead.
#### Options
`--subdir value`
\
...
...
@@ -542,5 +544,7 @@ load metadata from a previously dumped JSON file
#### Synopsis
```
juicefs load [command options] META-ADDR
FILE
juicefs load [command options] META-ADDR
[FILE]
```
When the FILE is not provided, STDIN will be used instead.
docs/zh_cn/command_reference.md
浏览文件 @
0a5c8a1f
...
...
@@ -525,9 +525,11 @@ juicefs warmup [command options] [PATH ...]
#### 使用
```
juicefs dump [command options] META-ADDR
FILE
juicefs dump [command options] META-ADDR
[FILE]
```
如果没有指定导出文件路径,会导出到标准输出。
#### 选项
`--subdir value`
\
...
...
@@ -542,5 +544,7 @@ juicefs dump [command options] META-ADDR FILE
#### 使用
```
juicefs load [command options] META-ADDR
FILE
juicefs load [command options] META-ADDR
[FILE]
```
如果没有指定导入文件路径,会从标准输入导入。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录