<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF105:Резервирование он-лайн - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF105:%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BD-%D0%BB%D0%B0%D0%B9%D0%BD&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 20:18:15 GMT</lastBuildDate>
		<item>
			<title>Crazy Rebel: викификация, оформление</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF105:%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BD-%D0%BB%D0%B0%D0%B9%D0%BD&amp;diff=7707&amp;oldid=prev</link>
			<description>&lt;p&gt;викификация, оформление&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: '''Удаленное резервирование''' Пусть рухнет все вокруг: ваши данные все равно уцелеют&lt;br /&gt;
&lt;br /&gt;
==Резервирование: страховка данных==&lt;br /&gt;
&lt;br /&gt;
: Для повышения надежности хранения данных не обойтись без резервирования на стороне: оно спасет даже самых рассеянных. '''Джульетта Кемп''' все объяснит.&lt;br /&gt;
&lt;br /&gt;
Локальные средства резервирования – например, внешние диски или даже ленточные устройства – это хорошо и прекрасно в своей области. Я даже рискну сказать: они обязательны, если вы действительно заботитесь о своих данных. Кто уже терялданные, знает, что я права. Кто не терял – пожалуйста, поверьте мне: лучше не искать неприятностей на свою, э-э-э, голову!&lt;br /&gt;
&lt;br /&gt;
Но вдруг чьи-то шкодливые ручонки утащат ваш внешний диск вместе с ноутбуком, или узконаправленный электромагнитный импульс,&lt;br /&gt;
вызванный вспышкой на Солнце, сотрет все магнитные носители в офисе (маловероятно, но истинный параноик и такое учитывает)? Тут-то вас и спасет резервирование на стороне. Мы постоянно твердим о регулярном копировании данных, но в реальности, единственный&lt;br /&gt;
способ обеспечить резервирование с должной периодичностью – это автоматизировать процесс.&lt;br /&gt;
&lt;br /&gt;
Мы рассмотрим два способа резервирования на стороне. Первый – при помощи ''Rsync'' – полезен, если у вас есть консольный доступ к другой, удаленной машине; второй использует для хранения сервис ''Google Gmail''. Оба основаны на сети, а значит, имеют некоторые ограничения&lt;br /&gt;
по размеру, отчасти зависящие от скорости вашего соединения. В конце урока мы обсудим возможности, существующие для больших объемов данных.&lt;br /&gt;
&lt;br /&gt;
===''Rsync''===&lt;br /&gt;
&lt;br /&gt;
При наличии доступа ко внешней консольной учетной записи (полученного в рамках пакета хостинга или, возможно, за дополнительную&lt;br /&gt;
плату), пригодится старый инструмент резервирования Unix, ''rsync''.&lt;br /&gt;
&lt;br /&gt;
Вот стандартная команда ''rsync'':&lt;br /&gt;
&lt;br /&gt;
 rsync /каталог/источник /каталог/назначение&lt;br /&gt;
&lt;br /&gt;
Она просматривает '''/каталог/источник''' и сравнивает его с '''/каталог/назначения'''. Если все файлы в исходном каталоге новые или обновленные, ''rsync'' копирует их в каталог назначения. То есть при первом запуске для некого каталога, он скопирует все его содержимое, и на&lt;br /&gt;
это потребуется время. Во второй и последующие разы скопируются&lt;br /&gt;
только изменившиеся файлы, и все будет намного быстрее. Это сберегает и время, и (при передаче во внешний мир) сетевой трафик.&lt;br /&gt;
&lt;br /&gt;
Команда, приведенная выше, лишь синхронизирует один локальный каталог с другим локальным каталогом, действуя, в итоге, как&lt;br /&gt;
версия славного ''cp''. Для наших целей важно то, что '''/каталог/назначения''' в действительности может располагаться на другом компьютере: тогда он принимает форму '''имя_машины.пример.com:/каталог/назначения'''. И наоборот, можно копировать из исходного каталога на&lt;br /&gt;
удаленной машине в локально расположенный каталог, что полезно&lt;br /&gt;
при восстановлении данных.&lt;br /&gt;
&lt;br /&gt;
''Rsync'' предусматривает множество опций. Те, что вы, вероятно,&lt;br /&gt;
захотите использовать, такие: '''-avuz'''. По очереди опишем их: '''-v''' устанавливает режим подробного вывода, чтобы вы понимали, что происходит; '''-a''' – опция архивирования, учитывающая структуру каталогов,&lt;br /&gt;
а также сохраняющая владельца, права доступа, временные отметки&lt;br /&gt;
и так далее; '''-u''' настраивает опции обновления, чтобы не портить файлы, которые в каталоге назначения новее, нежели в источнике; а '''-z'''&lt;br /&gt;
сжимает во время передачи, немного ускоряя процесс.&lt;br /&gt;
&lt;br /&gt;
По умолчанию символьные ссылки не обрабатываются, а так и сохраняются в виде символьных ссылок. Если вам необходим переход по ссылкам (и полное копирование файлов, к которым они ведут), это настраивается при помощи опций. На предмет всевозможных доступных параметров просмотрите ''man rsync''.&lt;br /&gt;
&lt;br /&gt;
Например, если ваша учетная запись доступна по адресу '''offsite.example.com''' и вы настроили для резервирования каталог '''/home/user/backup''', можно создать резервную копию каталога '''/test''' так:&lt;br /&gt;
&lt;br /&gt;
 rsync -avuz /test user@offsite.example.com:/home/user/backup&lt;br /&gt;
&lt;br /&gt;
Вам потребуется ''rsyncd'', запущенный на удаленной машине. У владельцев коммерческой учетной записи, вероятно, он есть; если нет,&lt;br /&gt;
поговорите с сисадмином. Если удаленная машина принадлежит вам, установите соответствующий пакет для своего дистрибутива. В Debian&lt;br /&gt;
вам также потребуется отредактировать '''/etc/default/rsync''', установив&lt;br /&gt;
'''RSYNC_ENABLE''' в '''true''', а затем выполнить ''/etc/init.d/rsync start''.&lt;br /&gt;
&lt;br /&gt;
У вас запросят ваш ''SSH''-пароль – попозже мы рассмотрим, как этого избежать; затем ''rsync'' объявит, что создает список файлов. Это&lt;br /&gt;
означает, что он выясняет, какие файлы необходимо копировать. В данном случае нужно копировать все, поскольку это первое резервное копирование. Потом начнется перенос данных – а поскольку мы использовали опцию '''-v''', ''rsync'' сообщит нам о каждом файле. В итоге&lt;br /&gt;
ваши зарезервированные файлы окажутся в ''/home/user/backup/test'' на '''offsite.example.com'''.&lt;br /&gt;
&lt;br /&gt;
На данном этапе стоит подумать, каким образом ''rsync'' работает с&lt;br /&gt;
каталогами. А работает он по-разному, в зависимости от того, есть ли&lt;br /&gt;
в конце каталога источника слэш или нет. В простом примере&lt;br /&gt;
&lt;br /&gt;
 rsync /test/one /backup&lt;br /&gt;
&lt;br /&gt;
все файлы передаются из '''/test/one''' в '''/backup/one'''. Другими&lt;br /&gt;
словами, копируется весь каталог (и его содержимое) с именем.&lt;br /&gt;
Следующий код:&lt;br /&gt;
&lt;br /&gt;
 rsync /test/one/ /backup&lt;br /&gt;
&lt;br /&gt;
(отметьте завершающий слэш в каталоге источнике) перенесет все&lt;br /&gt;
файлы из '''/test/one''' в '''/backup''', то есть скопируется только содержимое,&lt;br /&gt;
но не сам каталог. Скорее всего, вам подойдет первая версия: она както опрятнее.&lt;br /&gt;
&lt;br /&gt;
Завершив первый проход, попробуйте изменить один файл и&lt;br /&gt;
запустите эту же команду вновь. Вы увидите, что на сей раз будет&lt;br /&gt;
скопирован только измененный вами файл.&lt;br /&gt;
&lt;br /&gt;
====''SSH'' без пароля====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Если вам необходима информация о любой команде Unix, лучше всего начать с команды ''man имя_команды''.&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
Итак, ''rsync'' резво копирует файлы на вашу удаленную машину, но&lt;br /&gt;
пока что требует ''SSH''-пароль – для автоматизации это ни к чему!&lt;br /&gt;
Чтобы обойтись без него, понадобится – угадайте! – вот именно,&lt;br /&gt;
настроить ''SSH''-аутентификацию без пароля.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, необходимо создать себе закрытый ключ. На вашей&lt;br /&gt;
домашней машине, откройте окно терминала и введите&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa -f ~/.ssh/rsync&lt;br /&gt;
&lt;br /&gt;
чтобы сгенерировать RSA-ключ (можно сгенерировать ключ и другого&lt;br /&gt;
типа – за деталями обратитесь к man-страницам), и сохраните его в '''/home/ser/.ssh/rsync'''. Будет выдан запрос на парольную фразу – просто нажмите '''Enter''', задав пустой пароль. Как только это будет сделано,&lt;br /&gt;
у вас должны появиться файлы '''/home/user/.ssh/rsync''' и '''/home/user/.ssh/rsync.pub'''.&lt;br /&gt;
&lt;br /&gt;
С обычным ключом и паролем вам было бы надо теперь добавить содержимое '''/home/user/.ssh/rsync.pub''' в файл '''/home/user/.ssh/authorized_keys2''' на '''offsite.example.com''', и все. Однако в данном случае это опасно: ведь пароля у ключа нет, и каждый, кто имеет доступ&lt;br /&gt;
к вашей домашней машине, сможет добраться до '''offsite.example.com''' и сделать все, что захочет, с вашими файлами прямо там или&lt;br /&gt;
в любом другом месте, к которому вы имеете доступ – какая уж тут безопасность!&lt;br /&gt;
&lt;br /&gt;
Для снижения такого риска можно отредактировать файл '''authorized_keys2''' на '''offsite.example.com''', ограничив ваш ключ так, чтобы с ним можно было выполнять только вашу команду резервного копирования. Скопируйте '''/home/user/.ssh/rsync.pub''' в '''tmpfile''' и отредактируйте '''tmpfile''' так, чтобы его единственная строка (на вид – большой блок, забитый случайными символами; но это и есть открытый&lt;br /&gt;
ключ) в начале имела следующее:&lt;br /&gt;
&lt;br /&gt;
 command=”rsync -avuz -e “ssh -i /home/user/.ssh/rsync” /test user@offsite.example.com:/home/userbackup”,&lt;br /&gt;
 no-port-forwarding,no-X11-forwarding,no-agent-forwarding&lt;br /&gt;
&lt;br /&gt;
Теперь добавьте содержимое '''tmpfile''' в '''/home/user/.ssh/authorized_keys2''' на '''offsite.example.com''' (вырежьте и вставьте, или используйте&lt;br /&gt;
''cat'', если хотите). Убедитесь, что все это – одна строка.&lt;br /&gt;
&lt;br /&gt;
Команде ''rsync'' нужно знать, где искать ваш зарытый ключ, так что выполните&lt;br /&gt;
&lt;br /&gt;
 rsync -avuz -e “ssh -i /home/user/.ssh/rsync” /test user@offsite.example.com:/home/user/backup&lt;br /&gt;
&lt;br /&gt;
Это указание на используемый ''SSH''-ключ. Данная строка должна&lt;br /&gt;
сочетаться с командой, которую вы занесли в файл '''authorized_keys2''' выше.&lt;br /&gt;
&lt;br /&gt;
Запустив ее, вы увидите, что ''rsync'' соединяется без запроса пароля, создает список файлов и копирует данные, измененных вами с&lt;br /&gt;
момента последнего запуска. Получилось!&lt;br /&gt;
&lt;br /&gt;
====Автоматизация с cron====&lt;br /&gt;
&lt;br /&gt;
Горькая, но неопровержимая истина в том, что при необходимости помнить о резервировании оно просто не будет выполняться&lt;br /&gt;
достаточно часто. Так что последний шаг – автоматизация ее запуска. Наберите ''crontab -e'' и добавьте следующую строку в ваш файл&lt;br /&gt;
'''crontab''':&lt;br /&gt;
&lt;br /&gt;
 5 0 * * * rsync -auz /test user@offsite.example.com:/home/user/backup&lt;br /&gt;
&lt;br /&gt;
Заметьте, что опции '''-v''' больше нет – вам не нужен длинный вывод&lt;br /&gt;
от ''Cron''. Понятно, что вместо '''/test''' вам следует вставить имя своего каталога. Не забудьте также изменить файл '''authorized_keys2''' на&lt;br /&gt;
'''offsite.example.com'''! Он должен соответствовать запускаемой вами&lt;br /&gt;
команде. Число в начале записи ''crontab'' означает, что задача будет&lt;br /&gt;
запускаться ежесуточно пять минут первого ночи (за деталями обратитесь к '''man'''-страницам ''crontab''). Готово – ваш процесс резервирования теперь будет запускаться автоматически каждую ночь.&lt;br /&gt;
&lt;br /&gt;
===''Gmail''===&lt;br /&gt;
&lt;br /&gt;
''Gmail'' бесплатно предоставляет уже 5 ГБ пространства, и это количество планируется увеличивать (а если вам этого мало, можете заплатить за учетную запись с большими ресурсами) – чем не решение для удаленного резервирования файлов? Можно настроить скрипт ''Perl'' на&lt;br /&gt;
отсылку по электронной почте определенного набора файлов на вашу учетную запись ''Gmail'', а затем настроить его автоматическое выполнение при помощи ''Cron'' каждую ночь.&lt;br /&gt;
&lt;br /&gt;
Детальное описание программирования на ''Perl'' выходит за рамки нашего урока, но скрипт должен быть довольно прост. Для него вам&lt;br /&gt;
понадобятся установленные модули '''Net::SMTP, File::Find, Mime::Lite, Archive::Tar''' и '''IO::Zlib'''. В Debian первые два из них устанавливаются по&lt;br /&gt;
умолчанию, как часть стандартного ''Perl''; остальные доступны в виде&lt;br /&gt;
''libmime-lite-perl, libarchive-tar-perl'' и ''libio-zlib-perl''.&lt;br /&gt;
&lt;br /&gt;
Если вы не нашли модули в своем дистрибутиве, можете установить их со '''CPAN''', используя строку&lt;br /&gt;
&lt;br /&gt;
 perl -MCPAN -e “install Net::SMTP”&lt;br /&gt;
&lt;br /&gt;
(подставьте имена своих модулей вместо '''Net::SMTP''').&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Применяя подпрограммы, вы должны или определить их перед тем, как первый раз использовать, или объявить их в&lt;br /&gt;
начале и описать в конце – мы здесь выбрали последнее.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
А вот и сам скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=perl&amp;gt;&lt;br /&gt;
 #!/usr/bin/perl -w&lt;br /&gt;
 use strict;&lt;br /&gt;
 use Archive::Tar;&lt;br /&gt;
 use File::Find;&lt;br /&gt;
 use MIME::Lite;&lt;br /&gt;
 use Net::SMTP;&lt;br /&gt;
 sub sendmail();&lt;br /&gt;
 sub wanted();&lt;br /&gt;
 my $email        = ‘my.&lt;br /&gt;
 name@gmail.com’;&lt;br /&gt;
&lt;br /&gt;
 my $email       = ‘my.&lt;br /&gt;
 name@gmail.com’;&lt;br /&gt;
 my $smtpserver = “smtp.example.com”;&lt;br /&gt;
 my @archive_list;&lt;br /&gt;
 my $backup_dir = “/home/jkemp/personal/”;&lt;br /&gt;
 my $tarfile = “/home/jkemp/gmailtar.tgz”;&lt;br /&gt;
 find ( \&amp;amp;wanted, $backupdir );&lt;br /&gt;
 Archive::Tar-&amp;gt;create_archive($tarfile, “1”, @archive_list);&lt;br /&gt;
 sendmail();&lt;br /&gt;
 sub sendmail() {&lt;br /&gt;
 my $msg = MIME::Lite-&amp;gt;new(To =&amp;gt; $email,&lt;br /&gt;
               Subject =&amp;gt; “Backup email”,&lt;br /&gt;
               Type =&amp;gt; “multipart/mixed”);&lt;br /&gt;
 $msg-&amp;gt;attach(Type =&amp;gt; “application/gzip”,&lt;br /&gt;
         Path =&amp;gt; $tarfile,&lt;br /&gt;
         Filename =&amp;gt; “backup.tgz”);&lt;br /&gt;
 $msg-&amp;gt;send(‘smtp’, $smtpserver);&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Помните, что перед его запуском вам необходимо будет изменить права доступа, чтобы он мог запускаться от имени пользователя&lt;br /&gt;
(''chmod u+x gmail.pl'').&lt;br /&gt;
&lt;br /&gt;
====''Perl''-компот====&lt;br /&gt;
&lt;br /&gt;
Итак, давайте просмотрим скрипт. Флаг '''-w''' в первой строке означает,&lt;br /&gt;
что ''Perl'' предупредит вас, если вы ляпнете что-то не то – то есть опечатку или заскок. Следующая строка, '''use strict''' – еще одна мера для&lt;br /&gt;
перехвата ошибок: она заставляет вас описывать все переменные до их использования. Рекомендую всегда использовать обе эти строки в&lt;br /&gt;
ваших скриптах ''Perl''. Труд невелик, зато сберегает много времени при отладке.&lt;br /&gt;
&lt;br /&gt;
Команда '''find''' (из '''File::Find''') обращается к указанному вами каталогу&lt;br /&gt;
(здесь это '''/home/jkemp/personal/'''). Используйте небольшие каталоги – как мы увидим далее, этот метод имеет ограничения на размер.&lt;br /&gt;
Команда '''find''' вызывает подпрограмму '''wanted''', объявленную в начале скрипта и определенную позднее ['''в листинге ее нет, – прим.ред.'''].&lt;br /&gt;
Подпрограмма проверяет, что обрабатываемое имя действительно соответствует файлу ['''например, вызовом ''-f $_[0]'', – прим. ред.'''], и если&lt;br /&gt;
так, то добавляет полное имя этого файла в массив файлов для архивирования '''@archive_list'''.&lt;br /&gt;
&lt;br /&gt;
Строка, начинающаяся с '''Archive::Tar''', выполняет всю тяжелую работу. Она создает ''tar''-архив c именем, определяемым переменной&lt;br /&gt;
'''$tarfile''', и сжимает (вот откуда взялась цифра '''1''' – «true» означает сжи-&lt;br /&gt;
мать, «false» – не сжимать) в него файлы из '''@archive_list'''.&lt;br /&gt;
&lt;br /&gt;
Затем скрипт отправляет электронное письмо. (Я выделила это в процедуру, чтобы при тестировании можно было легко отделить строку отсылки письма, когда вы проверяете, что ваш архив содержит все, что нужно.) Код электронного письма вполне понятен. Создается новое&lt;br /&gt;
MIME-сообщение, к нему подцепляется ''gzip''-ованный файл резервной копии, и сообщение отсылается. Вам понадобится имя вашего&lt;br /&gt;
''SMTP''-сервера – спросите у провайдера, если не уверены, или гляньте настройки вашей почтовой программы.&lt;br /&gt;
&lt;br /&gt;
Чтобы протестировать, все ли работает хорошо, закомментируйте&lt;br /&gt;
строку '''sendmail()''', добавив символ решетки ('''#''') в начало, и сохраните&lt;br /&gt;
программу. Далее запустите ее (''/путь/к/gmail.pl'') и проверьте местоположение вашего файла '''gmailtar.tgz'''. Если он там есть, перенесите его в&lt;br /&gt;
пустый тестовый каталог и распакуйте (''tar -zxf gmailtar.tgz''). Все файлы на месте? Прекрасно. Теперь раскомментируйте строку '''Sendmail''',&lt;br /&gt;
сохраните и запустите программу снова. Проверьте учетную запись ''Gmail'' – у вас должно быть новое сообщение с прикрепленным ''gzip''-архивом.&lt;br /&gt;
&lt;br /&gt;
Этот скрипт создает ''tar''-архив и оставляет его на вашем компьютере. Для его удаления добавьте строку&lt;br /&gt;
&lt;br /&gt;
 unlink $tarfile;&lt;br /&gt;
&lt;br /&gt;
после строки '''sendmail()'''. В противном случае он будет перезаписан при&lt;br /&gt;
следующем запуске скрипта. Вероятно, в процессе тестирования строка&lt;br /&gt;
удаления вам не нужна, потому что может оказаться полезным сохранить файл неподалеку, чтобы вы могли видеть, что происходит. Для его&lt;br /&gt;
ежедневного запуска, как и в первом случае, настройте ваш '''crontab'''.&lt;br /&gt;
&lt;br /&gt;
====Третий вариант====&lt;br /&gt;
&lt;br /&gt;
Основное неудобство работы с ''Gmail'' в том, что объем данных, которые&lt;br /&gt;
можно отослать таким способом, ограничен. Необъятные электронные&lt;br /&gt;
письма – проблема, способная вызвать отказ сети, а некоторые сервера&lt;br /&gt;
вообще откажутся принимать их, так что метод действительно полезен&lt;br /&gt;
для небольшого числа мелких файлов. Текстовые файлы обычно невелики, так что смело шлите самому себе по почте черновик своей новой&lt;br /&gt;
супер-повести каждую ночь. А вот для резервирования фотографий&lt;br /&gt;
или музыки этот вариант не подходит. Сервер web-почты, очевидно,&lt;br /&gt;
может быть любым; мы взяли ''Gmail'' просто потому, что он предлагает&lt;br /&gt;
больше всех места. Оба автоматизированных варианта с использованием сети, описанные здесь, честно говоря, весьма ограниченные&lt;br /&gt;
решения для задачи резервирования на стороне. Основная проблема в&lt;br /&gt;
размере данных: пересылка данных по сети занимает много времени,&lt;br /&gt;
и чем больше данных, тем больше и времени (не говоря уж о деньгах,&lt;br /&gt;
для большинства домашних тарифных планов). Ни один из этих методов на самом деле не подходит в качестве удаленного резервирования,&lt;br /&gt;
скажем, вашей фонотеки или фотоальбома. Они больше для таких&lt;br /&gt;
файлов, как текстовые и других важных, но небольших документов.&lt;br /&gt;
&lt;br /&gt;
Одна из альтернатив – использование внешнего диска для снижения начальных расходов. Закачайте вашу музыку или фото на внешний&lt;br /&gt;
диск дома, прихватите его с собой к удаленной машине (может быть,&lt;br /&gt;
в вашем офисе, если вы сделали копию накануне вечером, хотя на это&lt;br /&gt;
уж лучше получить «добро» у работодателя!) и выгрузить уже на нее.&lt;br /&gt;
После этого, любые обновления будут меньше, и могут выполняться&lt;br /&gt;
при помощи ''rsync''.&lt;br /&gt;
&lt;br /&gt;
Или заведите два диска: один дома, один на работе, и меняйте их&lt;br /&gt;
раз в неделю. Подключаете диск дома и настраиваете ''rsync'' использовать ''Cron'' для локального запуска каждую ночь, чтобы сделать&lt;br /&gt;
резервную копию на внешнем диске. В понедельник переносите этот&lt;br /&gt;
диск к удаленной машине – то есть на работу – и оставляете его на&lt;br /&gt;
столе. Берете ваш следующий диск домой и подключаете его вечером.&lt;br /&gt;
Повторяйте переключение каждую неделю. Ваша удаленная резервная&lt;br /&gt;
копия будет недельной давности, но это все-таки лучше, чем ничего.&lt;br /&gt;
Конечно же, здесь есть не автоматизированные элементы, раз уж надо&lt;br /&gt;
помнить о смене дисков!&lt;br /&gt;
&lt;br /&gt;
====Идем дальше====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Использование системы контроля версий, бесспорно, хорошая идея – как знать, вдруг вам захочется откатить изменения!|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
Как обсуждалось выше, вы все еще ограничены в смысле возможности&lt;br /&gt;
хранения старых данных. Если вам позарез нужна длительная история&lt;br /&gt;
резервирования или хранение больших файлов – вероятно, стоит присмотреться к специальному решению для резервирования, типа Bacula&lt;br /&gt;
(http://www.bacula.org), или к оплачиваемому хостингу.&lt;br /&gt;
&lt;br /&gt;
Надеюсь, один из рассмотренных методов подойдет для ваших&lt;br /&gt;
нужд удаленного резервирования. Просто помните: чем чаще резервируете, тем лучше. Память у компьютеров лучше, чем у людей, и компьютеры лучше умеют гонять большие объемы данных с места на место. Вот пусть компьютеры и занимаются тем, в чем они хороши, а вы&lt;br /&gt;
делайте то, в чем хороши люди: пишите рассказы, убийственные web-&lt;br /&gt;
приложения или уничтожающую критику в блогах, чтобы вознестись к&lt;br /&gt;
звездам сетевого сообщества, пребывая в спокойствии относительно&lt;br /&gt;
сохранности плодов вашего труда. '''LXF'''&lt;br /&gt;
&lt;br /&gt;
===CPAN===&lt;br /&gt;
&lt;br /&gt;
CPAN – это огромная коллекция бесплатных модулей ''Perl'', а точнее, инструментариев ''Perl''&lt;br /&gt;
для многократного использования. На нашем&lt;br /&gt;
уроке описан безболезненный метод установки. Если вы регулярно пишете на ''Perl'', вам стоит здесь порыться. Качество неоднородное,&lt;br /&gt;
потому что внести вклад в ''CPAN'' может любой,&lt;br /&gt;
но имеются несколько хороших образчиков, а&lt;br /&gt;
документация может быть весьма полезна. А&lt;br /&gt;
главное, благодаря ей вам не придется изобретать велосипед. Для определения значимости&lt;br /&gt;
модулей ''CPAN'', полезно проверять очки&lt;br /&gt;
‘'''kwalitee'''’ на странице тестирования сервиса ''CPAN'' (http://cpants.perl.org/kwalitee.html); просмотрите рекомендуемые модули CPAN на сайте Perl Foundation (http://www.perlfoundation.org/perl5/index.cgi?recommended_cpan_modules) и&lt;br /&gt;
проверьте рейтинги CPAN (http://cpanratings.perl.org).&lt;br /&gt;
&lt;br /&gt;
===''Anacron''===&lt;br /&gt;
&lt;br /&gt;
Если ваш компьютер не включен постоянно – например, если это ноутбук – вы можете использовать ''Anacron'' вместо ''Cron''.&lt;br /&gt;
&lt;br /&gt;
В ''Cron'' вы настраиваете задание на определенное время и дату. Если в это время машина выключена, то задание просто не выполняется&lt;br /&gt;
(пока вновь не наступит назначенное время). В ''Anacron'' вы назначаете&lt;br /&gt;
запуск задания через определенные интервалы – например, ежедневно, еженедельно или ежемесячно. ''Anacron'' будет стараться как можно&lt;br /&gt;
точнее держаться этого расписания, когда машина включена. Так,&lt;br /&gt;
если задание предполагается запускать ежедневно, и при включении&lt;br /&gt;
компьютера демон ''Anacron'' обнаружит, что оно не выполнялось за&lt;br /&gt;
последние 24 часа, задание будет тут же запущено.&lt;br /&gt;
&lt;br /&gt;
Правда, ''Anacron'' умеет мерить интервалы только в днях – в отличие от&lt;br /&gt;
''Cron'', способного заускать задание хоть по минутам. Для нас это не&lt;br /&gt;
проблема, коли мы решили резервироваться только раз в день. Еще&lt;br /&gt;
один момент: ''Anacron'' должен настраиваться из-под root (а ''Cron'' – не&lt;br /&gt;
обязательно). Но ведь на своей-то машине у вас всяко есть root-права!&lt;br /&gt;
&lt;br /&gt;
Измените файл '''/etc/anacrontab''', из под root, добавив строку:&lt;br /&gt;
&lt;br /&gt;
  1 5 backup rsync -auz -e “ssh -i /home/user/.ssh/rsync” /test user@offsite.example.com:/home/user/backup&lt;br /&gt;
&lt;br /&gt;
Эта строка будет запускать указанную команду ''rsync'' каждый день&lt;br /&gt;
(первый параметр), с задержкой в 5 минут (второй параметр), и определит журнал работ как «backup» (третий параметр).&lt;br /&gt;
&lt;br /&gt;
===''Subversion''===&lt;br /&gt;
&lt;br /&gt;
Преимущество ''Gmail''-метода в том, что при этом хранится несколько версий ваших файлов.&lt;br /&gt;
Каждое письмо – это отдельная копия, и оно хранится, пока вы не удалите его (или не кончится место). С ''rsync'', файлы перезаписываются, но не удаляются. Для удаления в пункте назначения файлов, отсутствующих в источнике, предусмотрен флаг '''--delete'''. Проблема с&lt;br /&gt;
перезаписью файлов ''rsync'' в том, что если вы&lt;br /&gt;
допустите ошибку и не заметите этого до выполнения резервирования, то будет уже поздно.&lt;br /&gt;
Старая версия исчезнет, и единственная версия,&lt;br /&gt;
которая вам останется – это текущая.&lt;br /&gt;
&lt;br /&gt;
Избежать подобных бед можно с помощью&lt;br /&gt;
системы управления версиями, типа ''Subversion'':&lt;br /&gt;
она хранит все изменения, сделанные с вашими&lt;br /&gt;
файлами, и если вы что-то испортите, нужно&lt;br /&gt;
будет всего лишь вернуться к предыдущей версии. Используйте ''rsync'' для резервирования&lt;br /&gt;
вашего репозитория (вашей базы данных управления версиями), и все будет хорошо.&lt;br /&gt;
&lt;br /&gt;
Не нравится? Есть и другие варианты. Одна из&lt;br /&gt;
возможностей – настроить на вашей удаленной&lt;br /&gt;
машине задание ''Cron'', выполняемое непосредственно перед плановым запуском ''rsync'': пусть&lt;br /&gt;
скопирует вашу старую резервную копию каталога в другое место. Эту работу может выполнить такая строка в вашем '''Crontab''':&lt;br /&gt;
&lt;br /&gt;
 5 23 * * * cp -rf /home/user/backup /home/user/backup2&lt;br /&gt;
&lt;br /&gt;
Она запускается ежедневно в 23:05.&lt;br /&gt;
Сохранится только одна дополнительная копия&lt;br /&gt;
данных, за предыдущий день, но этого может&lt;br /&gt;
быть для вас достаточно. Если написать более&lt;br /&gt;
сложный скрипт, чтоб сохранял копии других&lt;br /&gt;
дней, за это придется платить дисковой памятью. Каждый добавленный день займет еще&lt;br /&gt;
один такой же участок пространства на диске,&lt;br /&gt;
как и предыдущий – аппетиты системы контроля версий могут оказаться куда скромнее.&lt;/div&gt;</description>
			<pubDate>Fri, 24 Apr 2009 05:03:18 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF105:%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BD-%D0%BB%D0%B0%D0%B9%D0%BD</comments>		</item>
	</channel>
</rss>