Как правильно сделать резервную копию локального репозитория git в одном файле?

Вывод строки

…
read(0, "hello\n", 1024)                = 6
read(0, "", 1024)                       = 0
read(0, "hello\n", 1024)                = 6
read(0, "", 1024)                       = 0
read(0, "", 1024)                       = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 11),...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8dd4cef000
write(1, "0000000   h   e   l   l   o  \\n "..., 72) = 72
write(1, "000000c\n", 8)                = 8
exit_group(0)                           = ?
+++ exited with 0 +++

Здесь я сделал hello «ctrl -d» hello «ctrl -d» «ctrl -d» (второе приветствие усекается в выводе журнала ). Так что, похоже, это так запрограммировано.

Для запуска strace

  • Открыть две клеммы
  • В первом типеll /proc/self/fd/1
  • Во втором типеstrace hexdump -C 2>/dev/pts/«number-at-end-of-output-of-previous-command»
2
20.03.2021, 20:21
1 ответ

Похоже, что tar работает, как и ожидалось, если я перемещаю tar перед его извлечением:

mv gitrepo.tar otherdir/
cd otherdir ; tar xvf gitrepo.tar

В качестве альтернативы, zip работает без предварительного перемещения архива:

zip -Zs -r -FS gitrepo.zip gitrepo/

В приведенном выше примере архивирование выполняется без сжатия.

1
28.04.2021, 22:58

Теги

Похожие вопросы