Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
a540ab42
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a540ab42
编写于
11月 05, 2013
作者:
J
Jacob Vosmaer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove Bourne shell from backup code
上级
f9b66aec
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
15 deletion
+19
-15
lib/backup/database.rb
lib/backup/database.rb
+5
-5
lib/backup/manager.rb
lib/backup/manager.rb
+4
-4
lib/backup/repository.rb
lib/backup/repository.rb
+9
-5
lib/backup/uploads.rb
lib/backup/uploads.rb
+1
-1
未找到文件。
lib/backup/database.rb
浏览文件 @
a540ab42
...
...
@@ -13,20 +13,20 @@ module Backup
def
dump
case
config
[
"adapter"
]
when
/^mysql/
then
system
(
"mysqldump
#{
mysql_args
}
#{
config
[
'database'
]
}
>
#{
db_file_name
}
"
)
system
(
'mysqldump'
,
*
mysql_args
,
config
[
'database'
],
out:
db_file_name
)
when
"postgresql"
then
pg_env
system
(
"pg_dump
#{
config
[
'database'
]
}
>
#{
db_file_name
}
"
)
system
(
'pg_dump'
,
config
[
'database'
],
out:
db_file_name
)
end
end
def
restore
case
config
[
"adapter"
]
when
/^mysql/
then
system
(
"mysql
#{
mysql_args
}
#{
config
[
'database'
]
}
<
#{
db_file_name
}
"
)
system
(
'mysql'
,
*
mysql_args
,
config
[
'database'
],
in:
db_file_name
)
when
"postgresql"
then
pg_env
system
(
"psql
#{
config
[
'database'
]
}
-f
#{
db_file_name
}
"
)
system
(
'psql'
,
config
[
'database'
],
'-f'
,
db_file_name
)
end
end
...
...
@@ -45,7 +45,7 @@ module Backup
'encoding'
=>
'--default-character-set'
,
'password'
=>
'--password'
}
args
.
map
{
|
opt
,
arg
|
"
#{
arg
}
=
'
#{
config
[
opt
]
}
'"
if
config
[
opt
]
}.
compact
.
join
(
' '
)
args
.
map
{
|
opt
,
arg
|
"
#{
arg
}
=
#{
config
[
opt
]
}
"
if
config
[
opt
]
}.
compact
end
def
pg_env
...
...
lib/backup/manager.rb
浏览文件 @
a540ab42
...
...
@@ -16,7 +16,7 @@ module Backup
# create archive
print
"Creating backup archive:
#{
s
[
:backup_created_at
].
to_i
}
_gitlab_backup.tar ... "
if
Kernel
.
system
(
"tar -cf
#{
s
[
:backup_created_at
].
to_i
}
_gitlab_backup.tar repositories/ db/ uploads/ backup_information.yml"
)
if
Kernel
.
system
(
*
%W(tar -cf
#{
s
[
:backup_created_at
].
to_i
}
_gitlab_backup.tar repositories/ db/ uploads/ backup_information.yml)
)
puts
"done"
.
green
else
puts
"failed"
.
red
...
...
@@ -25,7 +25,7 @@ module Backup
def
cleanup
print
"Deleting tmp directories ... "
if
Kernel
.
system
(
"rm -rf repositories/ db/ uploads/ backup_information.yml"
)
if
Kernel
.
system
(
*
%W(rm -rf repositories/ db/ uploads/ backup_information.yml)
)
puts
"done"
.
green
else
puts
"failed"
.
red
...
...
@@ -44,7 +44,7 @@ module Backup
file_list
.
map!
{
|
f
|
$1
.
to_i
if
f
=~
/(\d+)_gitlab_backup.tar/
}
file_list
.
sort
.
each
do
|
timestamp
|
if
Time
.
at
(
timestamp
)
<
(
Time
.
now
-
keep_time
)
if
system
(
"rm
#{
timestamp
}
_gitlab_backup.tar"
)
if
Kernel
.
system
(
*
%W(rm
#{
timestamp
}
_gitlab_backup.tar)
)
removed
+=
1
end
end
...
...
@@ -75,7 +75,7 @@ module Backup
end
print
"Unpacking backup ... "
unless
Kernel
.
system
(
"tar -xf
#{
tar_file
}
"
)
unless
Kernel
.
system
(
*
%W(tar -xf
#{
tar_file
}
)
)
puts
"failed"
.
red
exit
1
else
...
...
lib/backup/repository.rb
浏览文件 @
a540ab42
...
...
@@ -18,7 +18,7 @@ module Backup
# Create namespace dir if missing
FileUtils
.
mkdir_p
(
File
.
join
(
backup_repos_path
,
project
.
namespace
.
path
))
if
project
.
namespace
if
system
(
"cd
#{
path_to_repo
(
project
)
}
> /dev/null 2>&1 && git bundle create
#{
path_to_bundle
(
project
)
}
--all > /dev/null 2>&1"
)
if
system
(
*
%W(git --git-dir=
#{
path_to_repo
(
project
)
}
bundle create
#{
path_to_bundle
(
project
)
}
--all)
,
silent
)
puts
"[DONE]"
.
green
else
puts
"[FAILED]"
.
red
...
...
@@ -30,7 +30,7 @@ module Backup
print
" *
#{
wiki
.
path_with_namespace
}
... "
if
wiki
.
empty?
puts
" [SKIPPED]"
.
cyan
elsif
system
(
"cd
#{
path_to_repo
(
wiki
)
}
> /dev/null 2>&1 && git bundle create
#{
path_to_bundle
(
wiki
)
}
--all > /dev/null 2>&1"
)
elsif
system
(
*
%W(git --git-dir=
#{
path_to_repo
(
wiki
)
}
bundle create
#{
path_to_bundle
(
wiki
)
}
--all)
,
silent
)
puts
" [DONE]"
.
green
else
puts
" [FAILED]"
.
red
...
...
@@ -53,7 +53,7 @@ module Backup
project
.
namespace
.
ensure_dir_exist
if
project
.
namespace
if
system
(
"git clone --bare
#{
path_to_bundle
(
project
)
}
#{
path_to_repo
(
project
)
}
> /dev/null 2>&1"
)
if
system
(
*
%W(git clone --bare
#{
path_to_bundle
(
project
)
}
#{
path_to_repo
(
project
)
}
)
,
silent
)
puts
"[DONE]"
.
green
else
puts
"[FAILED]"
.
red
...
...
@@ -63,7 +63,7 @@ module Backup
if
File
.
exists?
(
path_to_bundle
(
wiki
))
print
" *
#{
wiki
.
path_with_namespace
}
... "
if
system
(
"git clone --bare
#{
path_to_bundle
(
wiki
)
}
#{
path_to_repo
(
wiki
)
}
> /dev/null 2>&1"
)
if
system
(
*
%W(git clone --bare
#{
path_to_bundle
(
wiki
)
}
#{
path_to_repo
(
wiki
)
}
)
,
silent
)
puts
" [DONE]"
.
green
else
puts
" [FAILED]"
.
red
...
...
@@ -73,7 +73,7 @@ module Backup
print
'Put GitLab hooks in repositories dirs'
.
yellow
gitlab_shell_user_home
=
File
.
expand_path
(
"~
#{
Gitlab
.
config
.
gitlab_shell
.
ssh_user
}
"
)
if
system
(
"
#{
gitlab_shell_user_home
}
/gitlab-shell/support/rewrite-hooks.sh
#{
Gitlab
.
config
.
gitlab_shell
.
repos_path
}
"
)
if
system
(
"
#{
gitlab_shell_user_home
}
/gitlab-shell/support/rewrite-hooks.sh
"
,
Gitlab
.
config
.
gitlab_shell
.
repos_path
)
puts
" [DONE]"
.
green
else
puts
" [FAILED]"
.
red
...
...
@@ -103,5 +103,9 @@ module Backup
FileUtils
.
rm_rf
(
backup_repos_path
)
FileUtils
.
mkdir_p
(
backup_repos_path
)
end
def
silent
{
err:
'/dev/null'
,
out:
'/dev/null'
}
end
end
end
lib/backup/uploads.rb
浏览文件 @
a540ab42
...
...
@@ -19,7 +19,7 @@ module Backup
FileUtils
.
cp_r
(
backup_uploads_dir
,
app_uploads_dir
)
end
def
backup_existing_uploads_dir
if
File
.
exists?
(
app_uploads_dir
)
FileUtils
.
mv
(
app_uploads_dir
,
Rails
.
root
.
join
(
'public'
,
"uploads.
#{
Time
.
now
.
to_i
}
"
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录