LINUX.ORG.RU

История изменений

Исправление getup, (текущая версия) :

некоторые файлы и каталоги вводить под отслеживание git-ом нецелесообразно

/usr/bin/*, /usr/lib/* и т.д.?

занимаемый объём под .git ощутим

Он плохо разруливает бинарные файлы. По-моему, вообще никак.

$ mkdir /tmp/test-repo && cd /tmp/test-repo
$ git init
Initialized empty Git repository in /tmp/test-repo/.git/
$ dd if=/dev/urandom of=test-file bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 3.5481 s, 3.0 MB/s
$ git add test-file
$ git commit -m 'Initial commit'
[master (root-commit) e0352f8] Initial commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test-file
$ du -sh .git
11M	.git
$ echo "1" >> test-file
$ git commit -a -m 'Added one symbol'
[master c100bc2] Added one symbol
 1 file changed, 0 insertions(+), 0 deletions(-)
$ du -sh .git
21M	.git
Так что лучше там хранить только /etc.
Я уже выкладывал тут скриптик, которым делает версионированный бэкап через rsync. commit message можешь положить рядышком в текстовый файл.
+ Дополнительное место занимают только измененные файлы, остальные сохраняются по hardlink.
+- Лучше использовать reiserfs, в ней нет ограничений на количество ссылок.
http://pastebin.com/behtPyKj (c) inspired by http://habrahabr.ru/post/149059/

git status, git diff

В этом случае не так удобно, и совсем не быстро, но diff -rq /source /path/to/backup

можно легко откатываться на последнюю или предыдущие контрольные точки через git reset --hard.

В этом случае выбирается каталог с бэкапом всей системы за определенный момент времени и накатывается поверх текущей системы.

Исправление getup, :

некоторые файлы и каталоги вводить под отслеживание git-ом нецелесообразно

/usr/bin/*, /usr/lib/* и т.д.?

занимаемый объём под .git ощутим

Он плохо разруливает бинарные файлы. По-моему, вообще никак.

$ mkdir /tmp/test-repo && cd /tmp/test-repo
$ git init
Initialized empty Git repository in /tmp/test-repo/.git/
$ dd if=/dev/urandom of=test-file bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 3.5481 s, 3.0 MB/s
$ git add test-file
$ git commit -m 'Initial commit'
[master (root-commit) e0352f8] Initial commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test-file
$ du -sh .git
11M	.git
$ echo "1" >> test-file
$ git commit -a -m 'Added one symbol'
[master c100bc2] Added one symbol
 1 file changed, 0 insertions(+), 0 deletions(-)
$ du -sh .git
21M	.git
Так что лучше там хранить только /etc.
Я уже выкладывал тут скриптик, которым делает версионированный бэкап через rsync. commit message можешь положить рядышком в текстовый файл.
+ Дополнительное место занимают только измененные файлы, остальные сохраняются по hardlink.
+- Лучше использовать reiserfs, в ней нет ограничений на количество ссылок.
http://pastebin.com/behtPyKj (c) inspired by http://habrahabr.ru/post/149059/

git status, git diff

В этом случае не так удобно, и совсем не быстро, но diff -rq /source /path/to/backup

Исправление getup, :

некоторые файлы и каталоги вводить под отслеживание git-ом нецелесообразно

/usr/bin/*, /usr/lib/* и т.д.?

занимаемый объём под .git ощутим

Он плохо разруливает бинарные файлы. По-моему, вообще никак.

$ mkdir /tmp/test-repo && cd /tmp/test-repo
$ git init
Initialized empty Git repository in /tmp/test-repo/.git/
$ dd if=/dev/urandom of=test-file bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 3.5481 s, 3.0 MB/s
$ git add test-file
$ git commit -m 'Initial commit'
[master (root-commit) e0352f8] Initial commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test-file
$ du -sh .git
11M	.git
$ echo "1" >> test-file
$ git commit -a -m 'Added one symbol'
[master c100bc2] Added one symbol
 1 file changed, 0 insertions(+), 0 deletions(-)
$ du -sh .git
21M	.git
Так что лучше там хранить только /etc.
Я уже выкладывал тут скриптик, которым делает версионированный бэкап через rsync. commit message можешь положить рядышком в текстовый файл.
+ Дополнительное место занимают только измененные файлы, остальные сохраняются по hardlink.
+- Лучше использовать reiserfs, в ней нет ограничений на количество ссылок.
http://pastebin.com/behtPyKj (c) inspired by http://habrahabr.ru/post/149059/

Исходная версия getup, :

некоторые файлы и каталоги вводить под отслеживание git-ом нецелесообразно

/usr/bin/*, /usr/lib/* и т.д.?

занимаемый объём под .git ощутим

Он плохо разруливает бинарные файлы. По-моему, вообще никак.

$ mkdir /tmp/test-repo && cd /tmp/test-repo
$ git init
Initialized empty Git repository in /tmp/test-repo/.git/
$ dd if=/dev/urandom of=test-file bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 3.5481 s, 3.0 MB/s
$ git add test-file
$ git commit -m 'Initial commit'
[master (root-commit) e0352f8] Initial commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test-file
$ du -sh .git
11M	.git
$ echo "1" >> test-file
$ git commit -a -m 'Added one symbol'
[master c100bc2] Added one symbol
 1 file changed, 0 insertions(+), 0 deletions(-)
$ du -sh .git
21M	.git
Так что лучше там хранить только /etc.
Я уже выкладывал тут скриптик, которым делает версионированный бэкап через rsync. commit message можешь положить рядышком в текстовый файл.
+ Дополнительное место занимают только измененные файлы, остальные сохраняются по hardlink.
+- Лучше использовать reiserfs, в ней нет ограничений на количество ссылок.
http://pastebin.com/behtPyKj