|
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 14
|
|
Скрипт резервного копирования08.12.2010, 22:46. Показов 12579. Ответов 30
Метки нет (Все метки)
Ребят помогите пожалуйста, я в Python очень плохо разбираюсь, учили мы его очень быстро, практически сами.Задали такую работу.Написать скрипт создания системы резервного копирования УДАЛЕННЫХ ИЛИ ИЗМЕНЕННЫХ обьектов.Немного вот нашла по этой теме, но это не совсем то, здесь идет копирование всех файлов, а мне нужно только измененных или удаленных.Все кто может помочь, очень прошу помочь.У нас его толком никто не знает, вот и обратиться не к кому(((Как мне в этом скрипте зделать так чтоб копировалось то что мне нужно, а не все?
Вот скрипт с пояснениями: Переместимся в корневой раздел: [root@deep]# cd / Важно всегда начинать с изготовления полной резервной копии, например, в пятницу: Пятница 1 (используйте ленту 1 для первой полной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Понедельник (используется лента 2 для добавочной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Вторник (используется лента 3 для добавочной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Среда (используется лента 4 для добавочной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Четверг (используется лента 5 для добавочной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Пятница 2 (используется лента 6 для полной резервной копии). [root@deep /]# cd / [root@deep /]# tar cpf /dev/st0 --label=" full-backup created on `date '+\ %d-%B-%Y'`." --directory / home Далее, делаем добавочные резервные копии на лентах со 2 по 5 и так далее. Опция c определяет, что мы создаем архивный файл. Опция p сохраняет права доступа. Опция N делает добавочную резервную копию и запоминает файлы новее, чем DATE. Опция f говорит, что следующий аргумент будет либо именем архивного файла, либо именем устройства, на которое производится запись. Объясним, как мы получили имя файла, который содержит текущую дату: просто поместим команду date между обратными кавычками. К основному имени добавляется суффикс tar для несжатых архивов, и суффикс tar.gz для сжатых. Так как мы не определяем конкретное имя для файла резервной копии, то воспользуемся опцией --label, которая позволяет записать некоторую информацию в архивный файл. В заключение мы определяем, что только файлы из каталога /home будут записаны на ленту. Так как лента это устройство посимвольного ввода, мы не можем определить имя файла. Поэтому, в качестве аргумента для опции "имя файла" программы tar используется просто имя устройства /dev/st0. Устройство /dev/st0 не перематывается после создания резервной копии, поэтому мы имеем возможность записать на одну ленту несколько сессий. Мы можем также сказать устройству /dev/st0 автоматически перемотать ленту после окончания записи резервной копии. Для уменьшения пространства, занимаемого tar-архивом, резервная копия может быть сжата при помощи опции z программы tar. К сожалению, использование этой опции может создать ряд проблем. Из природы работы сжатия следует, что если хотя бы один бит будет испорчен, то и все данные, нужные для восстановления будут потеряны. Поэтому рекомендуется не использовать сжатие (опция z) для создания резервной копии при помощи команды tar. Если наша резервная копия не помещается на ленте, то нам надо использовать опцию --multi-volume (-M) для создания многотомных архивов: [root@deep /]# cd / [root@deep /]# tar cMpf /dev/st0 /home Prepare volume #2 for /dev/st0 and hit return: После того, как мы создали резервную копию, мы должны убедиться, что все хорошо, используем опцию --compare (-d): [root@deep /]# cd / [root@deep /]# tar dvf /dev/st0 Для резервного копирования всей системы используем следующую команду: [root@deep /]# cd / [root@deep /]# tar cpf /archive/full-backup-`date '+%d-%B-%Y'`.tar \ --directory / --exclude=proc --exclude=mnt \ --exclude=archive --exclude=cache --exclude=*/lost+found . Опция --directory говорит tar, что до начала резервного копирования надо перейти в следующий каталог (в нашем примере /). Опция --exclude говорит tar не создавать резервные копии заданных каталогов и файлов. Символ ., находящийся в конце командной строки говорит tar, что он должен копировать все в текущем каталоге. Когда мы создаем резервную копию нашей системы, ненужно включать в нее псевдофайловую систему /proc! Файлы в /proc не настояшие файлы, это просто файлоподобные ссылки к структуре ядра. Также не включаем каталоги /mnt, /archive и все lost+found.
0
|
|
| 08.12.2010, 22:46 | |
|
Ответы с готовыми решениями:
30
Нужны скрипты резервного копирования с архивацией Скрипт для копирования файлов по SFTP |
|
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
|
|
| 10.12.2010, 12:59 | |
|
Не совсем.
1) Рекурсивно (со всеми подкаталогами) проверяется папка источник. 2) Затем, если такого файла в папке назначения нет - он туда копируется. 3) Если он там есть проверяется дата модификации и только в случае если в папке назначения более старая версия он обновляется. Можно дописать полную синхронизацию - затем сканируется папка назначения (уже обновлённая) и те файлы, которых нету в источнике копирует назад. Вот и восстановление удалённых файлов. Подразумевается что к папке в которую копируется (и с которой потом идёт восстановление) имеет доступ только админ. На отдельную машину... это сложнее. Хотя в принципе реализуемо. Но тут уже с сетью придётся возиться. Да, забыл сказать: Structure это пустой класс.
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 10.12.2010, 13:09 | |||||||||||
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
|
|
| 10.12.2010, 13:22 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 14
|
||
| 13.12.2010, 12:40 [ТС] | ||
|
И еще, я заходила на ссылку, которую вы мне скинули- там, по-моему нет такой темы как мне надо(((
0
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||
| 14.12.2010, 02:49 | |||||||||||||||||
там всегда разделение на два элемента
и читать его нужно по частям, сразу записывая, чтобы память не занимать и похоже у него ещё нет спуска, то есть он указывает из каких каталогов копировать файлы, а там нужно копировать файлы, открывать каталоги и там тоже поиск файлов проводить, потому что каталогов там может быть много
0
|
|||||||||||||||||
|
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
|
|||||||
| 14.12.2010, 12:10 | |||||||
|
Базовый скрипт с комментариями:
Если имелось ввиду что копируется только из корневой папки то нет -- os.walk обходит все поддиректории сколько бы их не было и дерево путей копируется в точности. Хотя можно указать исключаемые.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 14
|
||
| 14.12.2010, 18:15 [ТС] | ||
|
Если ты не против, напиши мне свою аську, во многом не могу разобраться(((( и еще что означает вот это: cfg = load_config_data("config.ini") #на выходе - словарь в котором ключи -- секции, а сами секции стали экземплярами класса #special.py я с собой из проекта в проект таскаю Вы уж извините, но я действительно чайник в этом языке...
0
|
||
|
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
|
||||||
| 14.12.2010, 21:59 | ||||||
|
Если с техническим английским нормально - тебе сюда: http://docs.python.org/
Большинство вопросов отпадут. Если нет - то есть много хороших учебников и на русском - а по ссылке именно документация. Аськи у меня нет.
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 14
|
|
| 14.12.2010, 22:56 [ТС] | |
|
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||||||||||||||
| 15.12.2010, 02:16 | |||||||||||||||||||||||||||||
иначе
прикинь, там гектар, а ты его весь в память
1
|
|||||||||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
|
|
| 16.12.2010, 16:37 | |
|
Резонно.
Появится время, надо будет доработать.
0
|
|
| 16.12.2010, 16:37 | |
|
Скрипт резервного копирования Покритикуйте мой скрипт резервного копирования файлов Не работает скрипт резервного копирования для новых файлов Скрипт автоматизации резервного копирования баз данных Firebird/InterBase Скрипт "Утилита резервного копирования" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|