Search
Write a publication
Pull to refresh
21
0
Илья Коваленко @AgentSIB

Программист

Send message
что делать если я случайно сделал так:
echo "" > my_very_important_file

Чтобы было не так обидно, можно попробовать напиться…
Некоторое время назад написал для себя поднастройку bash для linux (mac).

github.com/agentsib/useful-scripts/blob/master/bash/bashrc

Выглядит так:


Root подсвечивается красным. Может кому пригодиться (как альтернатиный шаблон для Windows).
Если тот самый один все уничтожит, то смысла от демократии не будет.
Именно так помер мой самый первый (и последний!) телефон от перепрошивки) У меня был c350l, а я залил flex от c350. Когда нашел способ решить проблему — трубку уже найти не смогу.
Есть адекватные сервисы, это все же самый простой способ оплаты. Мобильники есть у всех, а электронные деньги нет.

Возможно сейчас понасобираю минусов… Я не поверил своим глазам, пока сам не увидел. Некоторые храмы собирают пожертвования через смс-копилки. И получается что жертвуешь 40 процентов оператору))
Есть еще один минус оплаты по sms: есть процент пользователей, считающих, что раз используются премиум-sms, то это обман. Из-за большого количества мошейнических сервисов, данный способ оплаты изрядно подмочил себе репутацию.
Ааа, сори, так глубоко не лазил.
Для примера, у меня есть реп, которые я таскаю на galaxy s3. Ничего сверхважного, скрипты, но храню я их там в гите. Хоть на андроид и есть клиенты и серверы гита, но я их не использую. Данные вынимаю и сохраняю с помощью стационарного гит клиента.
Git bundle же может делать аналогичное только если 1 бранч. (если много бранчей то это очень сложно).

Поищите в справке параметр --all и сложность отпадет.

Другие способы бекапа — pull/push в удаленный bare репозиторий. Если на удаленном сервере не стоит git, то папку с репозиториями можно монтировать в файловую систему с помощью fuse и запускать нужную операцию гита на локальном сервере.
Если есть способ примонтировать с помощью fuse, то как раз по теме. Выполняйте пуш.
В принципе я это и пытался объяснить :)
Вот пожалуйста

www.virustotal.com/file/a1a5127c624bda6d36066f6eea107f8ca892f5fffeed6c4d973d100265f67aa6/analysis/1360311191/

Касперский и Доктор Веб определяют. А Авира и Нод не определили. Сейчас вышлю им.
И, кстати, если при работе крона будет ошибка (не может выполнить push/pull), это будет означать, что коммиты переписывались. И либо это ошибка фс, либо кто-то намеренно их переписал. В любом случае факт модификации будет отловлен.
Гит крякает, если файл поврежден. У него механизм хранения данных такой. Он файлы внутри папки .git называет согласно их контрольной суммы.

Бренчи и теги практически ничего не весят, это метаданные. А инкрементальными бекап можно получить если, например, пушить на север бекапа по крону (или наоборот пулить с сервера бекапа). Причем без параметра --force он ничего не перезапишет. И еще советую почитать про параметр --mirror.

git bundle удобен для разового переноса. В принципе это создание данных для push перед отправкой на сервер.
Про проверку целостности — где то читал, где уже не помню. Про битые файлы — реальный факт, проблема была с очень большим репозиторием (4 гигобайта). И в сети тоже это обсуждалось. Быстрый поиск в гугле результатов не дал.
Пруф что не проверяет?

Ну да, проект был задеплоен год назад с битыми файлами. Если бы это был единичный случай, то ладно. С гитом за 4 года таких проблем не было.

Любой клон гита — это уже бекап. Для того, чтобы забекапить на том же S3 достаточно синхронизировать все ветки. И если история не будет переписываться, то файлы будут только добавляться.
Зачем такие сложности? Достаточно сделать клон из уже имеющейся папке. В файловых системах, где поддерживаются жесткие ссылки (ntfs, ext) — будут задействованы именно они, при дублировании папки .git. По окончанию работы — удалить клон.
Не пользуюсь SVN уже года три-четыре. Чексуммы есть, однако он их не проверяет, когда выгружает файлы. О том что файл битый узнаешь позже. Да и стоит ли сравнивать надежность хранения данных у централизованной и децентрализованной системы?
git gui, gitk, git blame разве не хватает?

PS. Пардон, не туда написал…

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity