Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Чорноп'ятов Е.А. Найпростіший backup на основі WinRAR,
WSH скриптів і Планувальника завдань Windows

  • вступ
  • Як буде працювати бекап
  • скрипти
  • Командний рядок WinRAR
  • командні файли
  • планувальник
  • висновок
  • посилання

вступ

Як буде працювати бекап

Отже, мені потрібно:

  • Зберігати бекап за кожен день у вигляді архівного файлу
  • Кожен файл повинен створюватися з унікальним ім'ям (в ідеалі включати дату створення в ім'я файлу)
  • Процес створення бекапа повинен проходити в автоматичному режимі
  • Файли старше 1 тижня повинні автоматично віддалятися

Архівацією буде займатися WinRAR. він же буде автоматично іменувати файли. Визначати вік і видаляти старі файли буде скрипт (VBScript), а автоматизувати всі я буду за допомогою вбудованого Планувальника Windows.

Основу скриптів складають процедури з книги Джессі Торреса "Скрипти для адміністратора Windows" (а саме з глави 3 "Обслуговування файлів"). Вони були доповнені мною для реалізації моїх завдань.
Ось які функції нам знадобляться (привожу код цілком):

Цей код поміщаємо в файл remove_old_backups.vbs.

Командний рядок WinRAR

Архіватор WinRAR має потужну підтримкою командного рядка. Зокрема, він може формувати ім'я файлу на основі призначеного для користувача шаблону, включаючи в нього різну службову інформацію, наприклад, дату. Що нам, власне кажучи, і потрібно. Крім того, він уміє працювати зі списком файлів або директорій на архівацію, що сильно полегшує редагування командного файлу.

Я використовую наступну командний рядок для архівування (прописана в файлі make_daily.bat):

Розберемо її за складовими:

командні файли

Вся робота по створенню бекапа будується на основі командних файлів (.bat-файлів). У мене їх два:

  • make_daily.bat - містить команди для створення архівного файлу або файлів.
  • backup_task.bat - виконує наступні дії:
    • викликає інтерпретатор скриптів cscript і передають йому на виконання скрипт, що видаляє старі файли.
    • викликає make_daily.bat і передає йому в якості параметра або папку, яку треба архівувати, або файл-список (в якому кілька папок на архівацію).
  • У свою чергу, backup_task.bat викликається Планувальником Windows в призначений час

Вміст файлу make_daily.bat (в один рядок):

Вміст файлу backup_task.bat:

Для роботи також необхідно створити файл backup.lst (звичайний текстовий файл). Він повинен містити список директорій, які включаються в бекап. Кожна директорія повинна розташовуватися на окремому рядку, наприклад, так:

Зверніть увагу, що ім'я директорії-джерела, що містить прогалини, не обов'язково брати в лапки, якщо ви користуєтеся файл-списком. Якщо ж ви передаєте його безпосередньо, то лапки обов'язкові. Не ставте завершальний слеш - WinRAR цього не зрозуміє.

планувальник

Планувальник можна викликати через меню Start | Programs | Accessories | System Tools | Scheduled Tasks. або через Control Panel. Відкриється папка Scheduled Tasks. в яку і треба додати нову задачу. Це можна зробити наступним чином (я наводжу тільки основні кроки).

Двічі клацаємо Add Scheduled Task, щоб додати нову задачу

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Виберемо наш bat-файл:

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Задамо ім'я і періодичність завдання

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Задамо час запуску

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Задамо обліковий запис і пароль, від імені якої буде виконуватися завдання. Обов'язково!

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Досліди найпростіший backup на основі winrar, wsh скриптів і планувальника завдань windows

Редагувати властивості завдання можна, клацнувши правою кнопкою миші на іконці завдання в папці Sheduled Tasks і вибравши пункт меню Properties.

висновок

Ось ми і створили найпростіший, але потужний :) "бекапер" (або бекапщік? Як правильно?) З підручних засобів. Його можна розширювати і налаштовувати, змінювати архіватори, прикручувати всякі перевірки і т.д. І все це без використання сторонніх продуктів і майже без програмування.
Сподіваюся, мій досвід виявиться для вас корисним.