Действительно ли возможно иметь больше, чем всего одно резервное копирование при редактировании текстовых файлов?

Да, это возможно. Это не очень твердо, но это требует хорошего понимания последовательности начальной загрузки.

Последовательность "копии" - что-то как:

  1. разделите Вас палка usb и mkfs разделы.
  2. скопируйте файлы от исходных разделов до разделов палки usb (например, использование rsync).
  3. измените /etc/fstab соответствовать Вашим новым разделам.
  4. установите новый загрузчик на палке usb.

Последняя точка является твердой. Вы копируете законченную систему Linux на палке, таким образом, Вы не можете использовать vfat разделы. При использовании ext2 разделов Вы будете, может использовать syslinux иначе, необходимо будет использовать личинку.

В любом случае результат будет очень медленным, потому что нормальные распределения не оптимизированы для этого вида использования. Если Вам не нужно временное решение, попробуйте некоторое живое распределение. Например, очень просто создать специализированную системную спасательную палку usb CD, добавляющую любое программное обеспечение, в котором Вы нуждаетесь на нем.

Немного подсказки: использовать UUIDs определить разделы, потому что это - единственный способ быть уверенным, что идентификаторы раздела не изменяются при изменении хоста или плагина другое USB-устройство.

6
01.04.2013, 10:30
6 ответов

Существует простой способ использовать подвижный для управления версиями. Сначала установите его.

Для конфигурирования подвижный делают файл ~/.hgrc со следующим содержанием:

[ui]
username = Your name <your mail>
verbose = True

При использовании некоторых подвижных серверов можно добавить больше информации к этому файлу (чтение man hgrc).

После этого cd к каталогу с Вашими текстовыми файлами. Например:

> cd /tmp
> mkdir data && cd data
> cat > text_file.txt
Hello, this is a file.

Можно добавить также любое количество файлов. После того, как мы должны init подвижный:

> hg init

По умолчанию все еще нет никаких файлов, таким образом, мы должны, чтобы сказать подвижный, что мы хотим включать все:

> hg st
? text_file.txt
> hg add    
adding text_file.txt
> hg st
A text_file.txt

Теперь мы умеем обойтись простая фиксация:

> hg comm -m 'first run'
text_file.txt
committed changeset 0:87e90c949984

Теперь сделайте некоторые меры и посмотрите различие:

> cat >> text_file.txt 
Add one line.
> hg diff
diff -r 87e90c949984 text_file.txt
--- a/text_file.txt Mon Apr 01 12:52:14 2013 +0400
+++ b/text_file.txt Mon Apr 01 12:53:47 2013 +0400
@@ -1,1 +1,2 @@
 Hello, this is a file.
+Add one line.

Теперь сделайте другую фиксацию после часов hg log: Вы будете видеть обе фиксации.

Для возврата для первой фиксации просто делают так:

> hg upd -r 0:87e90c949984
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt 
Hello, this is a file.

Вы видите: файл стар.

Теперь восстановление длится файл:

> hg upd                  
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt 
Hello, this is a file.
Add one line.

Также можно сделать простой сценарий:

#!/bin/bash
while true; do
  hg commit -m "commit: $(date)"
  sleep 60
done

Выполните его, когда Вы начнете редактировать свой файл, и это будет проверять на изменения каждую минуту, если были изменения, подвижный сделает новую фиксацию. Кроме того, поскольку у меня есть упоминание в комментариях, можно использовать at или cron для автоматических фиксаций.

4
27.01.2020, 20:29
  • 1
    я установил mercurial через Синаптический. Я сделал шаги до hg comm -m 'first run'. В этой точке я добрался abort: no username supplied (see "hg help config"). Я - единственный пользователь своего компьютера. Так или иначе я буду смотреть на hg help config. –   01.04.2013, 14:02
  • 2
    Извините, я забываю о, (поскольку мое подвижное было настроено давным-давно). Сделайте фиксируют. –  Eddy_Em 01.04.2013, 16:20

Я второй рекомендация использовать управление версиями. Это намного более гибко и более надежно, чем имение в наличии файлов резервных копий, и легко настроить.

Тем не менее, если Вы хотите точную регулировку по файлам резервных копий (и по многим другим вещам), можно использовать Emacs. Установите version-control переменная к t сделать пронумерованные резервные копии и не только сохранить один файл резервной копии на сессию (помещенным (setq version-control t) в Вашем ~/.emacs).Пресса C-u C-x C-s вместо просто C-x C-s когда Вы хотите создать новое резервное копирование.

Другой подход должен использовать файловую систему, которая делает резервные копии для Вас, независимо от того, знает ли приложение что-нибудь о резервных копиях. CopyFS создает такую файловую систему сверху любого дерева каталогов.

1
27.01.2020, 20:29

Похож существует doublesave плагин для gEdit. Хотя это использует метку времени вместо числа постепенного увеличения.

0
27.01.2020, 20:29

Geany идет с подходящим плагином также. Я использую Geany 1.23.1 на Lubuntu 13.10. Нажимая на Tools, Plugin Manager показывает это:

Plugin Manager dialog

В здесь, можно отсчитать Save Actions и затем, в Редактировании, Сменных Предпочтениях, можно настроить, как резервные копии должны быть сохранены:

Save Actions dialog

0
27.01.2020, 20:29

Используйте таблицы. См. Человек PF.conf для подробного объяснения и взглянуть на этот ответ для примера.

-121--146143-

немного поздно на вечеринку здесь, но вы можете добиться уникальной функциональности резервного копирования в Nano (по крайней мере, в текущей версии Debian 2.2.6) с использованием -B и -C Флаги.

На странице «Человек Debian»:

   -B (--backup)
          When saving a file, back up the previous version of it to the  current  filename
          suffixed with a ~.

   -C dir (--backupdir=dir)
          Set  the  directory  where  nano  puts  unique  backup files if file backups are
          enabled.

Чтобы сделать по умолчанию по умолчанию, создайте псевдоним Bash для Nano, включая флаги, и поставить его при необходимости (добавление строки ниже на /Home/username/.Bash_aliases работает для меня):

alias nano='nano -BC /home/username/.nano_backups'

, которые будут давать резервные копии в указанном каталоге, например:

$ ls /home/username/.nano_backups
!home!username!.bash_aliases~
!home!username!.bash_aliases~.1
!home!username!.bash_aliases~.10
!home!username!.bash_aliases~.11
!home!username!.bash_aliases~.12
[...]
0
27.01.2020, 20:29

С vv у вас может быть до 100 файлов резервных копий. vv - это дополнительный инструмент для любого редактора, который может сохранять, восстанавливать, перечислять, и т. д. скрытые резервные копии, полностью автоматические.

См. http://fex.belwue.de/fstools/vv.html

0
27.01.2020, 20:29

Теги

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