• Шаблоны для вашего сайта
  • Сделать сайт
  • Реклама
  • Berry CSS
  • Albireo Framework
  • Бесплатный HTML-курс
  • Telegram-канал
  • Обратная связь
MaxSite.org
О создании сайтов и не только
Создание сайтов под ключ →
Вход
×
или зарегистрироваться

Делаем резервные копии с помощью xcopy

СофтПросмотров: 114042Комментарии: 1818 августа 2008 г.

Программ для создания резервных копий (backup, бэкап) великое множество. Есть и платные, есть и бесплатные. В некоторых используются «мастера», которые позволяют указать массу параметров, не прибегая к сложному процессу настройки.

Однако сам процесс резервирования на самом же деле - обычное копирование. Есть конечно варианты, вроде: архивирования, отслеживание изменений и т.д., но для большинства случаев сам алгоритм сводится к простым действиям:

  • выбор исходных данных (каталог, файлы);
  • выбор куда копировать (каталог);
  • непосредственно копирование.
Так вот для того, чтобы выполнить все эти операции совсем не обязательно прибегать к помощи сторонних программ. Всё необходимое уже есть в Windows.

Для того, чтобы скопировать файл/каталог используется команда xcopy. Она имеет много параметров, но в общем случае указывается так:

xcopy "D:\myfiles\*.*" "j:\backup\myfiles\*.*"

Данная команда скопирует каталог «d:\myfiles» в «j:\backup\myfiles».

Итак наши действия очень просты. Вначале откроем Notepad2. В нем нужно указать те каталоги, которые следует резервировать. Лично у меня важные данные хранятся в нескольких каталогах: «txt», «work» и т.д.

Вторым параметром мы указываем куда следует скопировать. Обычно я для резервирования использую внешний жесткий диск (USB).

Для того, чтобы Windows при каждом его подключении присваивала одну и ту же букву диска, нужно войти в Панель управления - Администрирование - Управление Компьютером - Управление дисками. На подключенном диске кликните правой кнопокй мыши и выберите «Изменить букву диска или путь к диску...». В открывшемся окне выберите «Изменить» и укажите нужную букву. Например, у меня указано «J».

Для удобства лучше сохранять имена каталогов, чтобы потом не запутаться. А сам бэкап я размещаю в отдельном каталоге «backup».

Алгоритм копирования будет таков: мы будем копировать только новые файлы, старые будут затираться. При этом мы не будем удалять уже несуществующие в исходном каталоге файлы. Всё это достигается указанием параметров для xcopy.

Вот рабочий пример резервирования кошельков WEBMONEY и Яндекс-Деньги:

xcopy "C:\Program Files\WEBMONEY\*.*" "j:\backup\WEBMONEY*.*" /E /F /H /R /K /Y /D
xcopy "C:\Program Files\Wallet\*.*" "j:\backup\Wallet*.*" /E /F /H /R /K /Y /D

Эти строки нужно скопировать в Notepad2 и сохранить в файле с расширением «.bat», например «backup.bat». Теперь нам достаточно только запустить его и все будет сделано автоматически.

Теперь обратите внимание, что пути мы указываем в кавычках «"» - это требование Windows для длинных имен. Каталоги разделяются обратным слэшем «». В конце указываются параметры для xcopy.

То есть вам нужно только указать ваши каталоги для резервирования и сохранить как «backup.bat». Вы можете сделать несколько таких файлов: процесс копирования может иногда занимать много времени, поэтому какие-то совсем критичные данные я копирую чаще - для них существует другой файл «QiuсkBACKUP.BAT».

Естественно вам нужно следить за тем, чтобы на приёмном диске было достаточно места.

Теперь следующий момент, с которым вы можете столкнуться - неверная кодировка текста. Дело в том, что русские буквы для DOS (где и происходит копирование) отличаются от Windows (где вы создали bat-файл). Например у меня есть каталог «c:\Избранное». Если я запущу bat-файл, то ничего не произойдет, поскольку xcopy его просто не найдет. Поэтому наш bat-файл нужно преобразовать в DOS-кодировку (её часто называют «OEM»).

Для этого мы выделяем такие строчки в Notepad2 и жмем Ctrl+Shift+O (или Edit - Convert - To OEM Text). Вы увидите «белиберду», но не пугайтесь, так и должно быть. В моем примере это выглядит так: «c:?§Ўа ­­®Ґ»

Если у вас есть Total Commander, то вы можете просмотреть этот файл по F3 и в просмотрщике переключить кодировку - клавиша «S».

Следующая задача, которой я не пользуюсь, но возможно вам пригодится - это копирование актуальной версии каталога, а старый бэкап переименовывается в «old».

Здесь задача совсем несложная: вначале нужно удалить старый «old», после этого переименовать текущий бэкап в «old» и скопировать как обычно xcopy. Вот пример резервирования каталога «c:\work»:

del "j:\backup\work_old" /s /q
rmdir "j:\backup\work_old" /s /q
rename "j:\backup\work" "work_old"
xcopy "c:\work\*.*" "j:\backup\work*.*" /E /F /H /R /K /Y /D

Команда «del» удаляет все файлы из каталога. Команда «rmdir» удаляет пустой каталог. Команда «rename» переименовывает файлы. А командой «xcopy» мы, как обычно, копируем файлы.


Создание сайтов (Украина) →
Программа мечты - третий претендент
У меня теперь есть ASUS Eee
twitter.com facebook.com
Другие записи сайта
Учимся работать с шаблоном MF. Настраиваем заголовки записей
Учимся работать с шаблоном MF. Настраиваем заголовки записей
PHP-фреймворк Slim 4
PHP-фреймворк Slim 4
CodeIgniter 4. Основы. Установка
CodeIgniter 4. Основы. Установка
Что такое REST, RESTFul и CRUD
Что такое REST, RESTFul и CRUD
Делаем бэкапы с помощью RoboCopy
Делаем бэкапы с помощью RoboCopy
Для чего нужны javascript-фреймворки
Для чего нужны javascript-фреймворки

Комментариев: 18 RSS

1Dimox19-08-2008 15:44

Давно пользуюсь данной техникой. Действительно, все очень просто и удобно.

2sin20-08-2008 21:41

Еще можно подключить к всему этому WinRar с команднной строки.

Тоесть при таком бэкапе попутно все сжимать на лету.

Кстати говоря у Рара довольно много интересных параметров командной строки, можно даже сделать резервирование со сверкой дат изменения, и не затрагивать не измененные данные, обновляя только измененное и добавляя новое.

3ihtiandr21-08-2008 12:30

Спасибо, сделал себе такое, очень удобно.

4aLeXgO22-08-2008 13:16

Спасибо, Максим, за описание столь полезного и простого способа копирования.

Помню как-то Вы упоминали о таком способе резервного копирования, но не описали подробно. Исправились =)

5Leo23-08-2008 16:54

Я в своей практике много вариантов "бакапирования" пробовал, в том числе и подобные (эдакий без замутов и всем все понятно - вариант для конторы, кстати, слабо заменимый).

А лично для себя давно и бесповоротно выбрал (из ~20 разных бэкаперов, что нашел тогда) Genie Backup Manager. Все же, в определенный момент надоедает править батники.. ;)

6Стай25-08-2008 08:09

Вообще оказывается оч даже удобно, спасибо за помощь.

7Mba27-08-2008 13:50

Интересный способ. Но все равно считаю более удобным пользоваться специальным софтом (как тот же GBM в комменте Leo).

8Gordon27-08-2008 20:58

Спасибо за статью,всё просто и удобно !

9stasiska18-10-2008 22:57

парни как защитить диск от перезаписи :cool:

10Vini28-05-2009 17:06

Есть интересный сайт с примерами по данной теме http://cerber.synkmaster.ru

11person@g13-08-2009 08:57

Bat-файл можно создать и в обычном блокноте (notepad.exe) в DOS кодировке.Для этого просто выбрать шрифт Terminal

12Николай25-01-2011 09:48

в принципе всё ясно, но всё же... как же сделать так чтобы xCopy скопировала несколько папок, названых русскими именами??? менял шрифт в батнике результат тот же - Не найден файл: ╥хёЄ. а смысла в открытии Listerом и нажатии кнопки S я вообще не увидел, т. к. меняется отображение. при повторном открытии всё возвращается на круги своя. разъясните, а? очень нужно. заранее благодарен!!

13MAX25-01-2011 10:00

xCopy консольная команда, поэтому для неё русский язык должен быть в кодировке OEM (866). Поэтому bat-файл лучше всего писать в Notepad2 (или аналогичном): File - Encoding - More (или F9). В нём выбираем OEM (866).

14Николай25-01-2011 10:15

открыл в AkelPad там есть функция Сохранить в... и выбор кодировки. после этого всё получилось. Я так понял тот же, например, Lister меняет только отображение и не пересохраняет файл в другой кодировке?

15MAX25-01-2011 10:18

Еще раз читайте мой коммент, там всё по-русски написано.

16Редя31-01-2012 06:14

на крайняк можно *.txt открыть через ворд) Он должен спросить в какой кодировке его читать. Выбираем досовскую, редактируем, сохраняем, радуемся жизни

17Юрий03-02-2012 13:08

xcopy "C:\Program Files\WEBMONEY\*.*" "j:\backup\WEBMONEY\*.*" /E /F /H /R /K /Y /D
xcopy "C:\Program Files\Wallet\*.*" "j:\backup\Wallet\*.*" /E /F /H /R /K /Y /D
- синтаксическая ошибка. правильно будет:

xcopy "C:\Progra~1\WEBMONEY\*.*" "j:\backup\WEBMONEY\*.*" /F/Y

xcopy "C:\Progra~1\Wallet\*.*" "j:\backup\Wallet\*.* /F /Y - этих двух значений достаточно

18Игорь09-06-2017 16:17

Я крайне опасаюсь, что ооOчень опоздал с вопросом, но, пожалуйста, ответьте как сделать резервную копию текущего каталога с его текущим именем?

Тобишь кидаю батник в папку, оттуда его запускаю, в открывшемся окне cmd пишу путь "куда", а потом иду "туда" и вижу там внутрях такую же папку(то же имя, те же подкаталоги, те же атрибуты у файлов и папок, а также отсутствие батника, через который я это сделал).

Оставьте комментарий!

Комментарий будет опубликован после проверки. Вы соглашаетесь с правилами сайта.

(обязательно)

Навигация
  • Шаблоны для MaxSite CMS 22
  • jQuery и JavaScript 6
  • Java и Android 5
  • PHP/ООП 25
  • SQL 17
  • Albireo Framework 11
  • Berry CSS 7
  • CSS, HTML, LESS, SASS 23
  • PHP 37
  • Тайм-менеджмент 9
  • Софт 37
  • SEO 13
  • Git. GitHub 3
  • CodeIgniter 5
  • Landing Page 3
  • Alpine.js 14
  • Фильмы 2
  • Дневник 55

Вот здесь можно заказать создание сайта, шаблона или лендинга. Также вы можете выбрать готовые шаблоны для MaxSite CMS по небольшой цене. Также можно купить отдельные модули, компоненты для вашего сайта.

MaxSite.org
Как создать свой сайт

Услуги по созданию сайтов, блогов, лендингов
Обратная связь • Реклама на сайте
Карта сайта
Мои проекты
  • Шаблоны для вашего сайта
  • Заказать создание сайта
  • MaxSite CMS
  • Berry CSS (CSS Utilities)
  • Albireo Framework
  • UniCSS (Universal Atomic CSS)
  • Landing Page Framework
  • Бесплатные НТML-курсы
Ссылки
  • Telegram-канал
  • Github
  • Twitter
  • Telegram-бот
  • RSS
© MaxSite.org, 2006-2022. Работает на MaxSite CMS | Время: 0.2746 | SQL: 20 | Память: 4.67MB | Вход