Користувачі комп'ютерів, які виросли з передовими комп'ютерами Mac і Windows, можуть не знати про це, але колись, давно всі персональні комп'ютери контролювались за допомогою інтерфейсу командного рядка. Так, цей незграбний командний ящик на вашій машині Windows раніше був буквально єдиним способом взаємодії більшості людей з комп'ютером. Інтерфейси командного рядка значною мірою спиралися на невеликі програми під назвою "скрипти", які представляли собою набір команд операційної системи, що використовуються для виконання загальних завдань.
Незважаючи на те, що графічні інтерфейси користувачів сучасних ПК на світловий рік є більш складними та зручними у використанні, ніж у старих командних рядках, все ж існують старі методи управління вашим комп'ютером. Одне з найбільш поширених і добре підходящих програм для сценарію командного рядка - це резервне копіювання даних. Сценарії командного рядка можуть бути автоматизовані для запуску в будь-який час без будь-якої взаємодії з людьми і мають невеликі обмеження. Найкраще - вони є вбудованою частиною операційної системи Windows.
Чому сценарії командного рядка?
Навіщо використовувати сценарій командного рядка, коли там є як комерційні, так і безкоштовні програми резервного копіювання? Ну а сценарії командного рядка мають ряд унікальних переваг. Ось декілька з них:
- Рідні команди : який кращий спосіб резервного копіювання даних, ніж за допомогою функцій, доступних через програму, яка створює дані? Будь це сама операційна система за допомогою простої команди копіювання файлів або команди бази даних для створення відновлюваного бінарного файлу, вихідна програма найкраще знає, як створити резервну копію.
- Кінцевий контроль : Оскільки сценарій командного рядка дотримується простої покрокової процедури, ви точно знаєте, що відбувається, і можете легко змінити поведінку.
- Швидкий : Оскільки все є рідною командою, нічого не підлягає тлумаченню. Знову ж таки, ви використовуєте команди, надані самою програмою, тому накладні витрати зведені до мінімуму.
- Потужний : я ще не бачив завдання резервного копіювання, яке неможливо виконати за допомогою сценарію командного рядка … і я зробив кілька прикольних речей. Хоча вам, можливо, доведеться виконати деякі дослідження та проби та помилки, якщо у вас є справді унікальні потреби, як правило, вбудованих функцій та особливостей мови сценаріїв, яку ви використовуєте, більш ніж достатньо.
- Вільний та гнучкий : Очевидно, що скрипт командного рядка нічого не коштує (поза часом для його розробки), тому ви можете скопіювати свої сценарії на будь-яку кількість машин та систем, мало часу та витрат. Порівняйте це з вартістю придбання ліцензій на резервне програмне забезпечення на декількох серверах та / або настільних машинах.
Короткий огляд сценарію резервного копіювання
Більшість людей ніколи не навчилися використовувати сценарій командного рядка, і це вважається дещо «чорним мистецтвом». Однак насправді навчитися досить просто. Щоб продемонструвати потужність командного рядка, я надаю простий пакетний сценарій Windows, який ви можете використовувати для резервного копіювання важливих даних. Цей налаштований та настроюється сценарій не вимагає ніяких знань (чи готовності до вивчення) пакетної мови сценаріїв Windows, але якщо ви вирішите, що хочете дізнатися більше про пакетний сценарій Windows, ви знайдете цей сценарій хорошим вихідним місцем .
Що робить сценарій резервного копіювання:
- Створює повні або щоденні додаткові (для визначення див. Нижче) резервні копії файлів і папок, які ви вказали в окремому текстовому файлі конфігурації (див. Нижче).
- Коли папка названа, ця папка та всі підпапки створюються резервними копіями.
- Коли файл названий, саме цей файл резервного копіювання.
- Стискає (блискавки) резервні копії файлів. Після того, як всі копії файлів будуть скопійовані, вони стискаються для економії місця. Для роботи в системі потрібно встановити 7-Zip.
- Датує стислий файл і переміщує його в місце зберігання. Після стискання файлів резервного копіювання отриманому архіву присвоюється ім'я файлу відповідно до поточної дати, а потім переміщується до налаштованого місця зберігання, такого як зовнішній диск або мережеве розташування.
- Прибирає після себе. Після завершення всіх завдань пакетний сценарій очищає всі створені тимчасові файли.
Вимоги:
Windows 2000 / XP / 2003 / Vista або новіших версій
7-Zip (безкоштовно)
Файл конфігурації:
Файл конфігурації - це просто текстовий файл, який містить файли та папки для резервного копіювання, введені один елемент резервної копії на рядок. Цей файл має бути названий "BackupConfig.txt" і міститися в тій же папці, що і сценарій резервного копіювання. Ось приклад файлу BackupConfig.txt (зверніть увагу, символ "#" у першому рядку вказує на те, що рядок є коментарем; коментарі завжди ігноруються під час запуску сценарію):
# Введіть імена файлів і папок, по одному на рядок.
C: \ Документи та параметри \ Джейсон Фолкнер \ Настільний ПК: \ Документи та параметри \ Джейсон Фолкнер \ Мої документи \ Важливі файли C: \ Сценарії \ BackupScript.bat
Наведений вище приклад створив би резервну копію робочого столу користувача Windows Джейсона Фолкнера (та всіх папок на робочому столі), папку під назвою "Важливі файли" всередині "Моїх документів" (і всі папки всередині "Важливі файли") та файл "BackupScript.bat" каталог C: \ Scripts.
Типи резервного копіювання:
- Повна резервна копія: Повна копія всіх файлів і папок (включаючи підпапки) включена в резервну копію.
- Зростання резервного копіювання: Коли папка надається, є лише файли, створені або змінені на поточну дату
підкріплений. Коли файл надається, він завжди створюється резервна копія, незалежно від того, коли він був змінений.
Пакетний скрипт резервного копіювання даних
Я хочу підкреслити, що цей сценарій є дуже простим, оскільки все, що він робить, - це створення резервних копій за допомогою простої копії файлу. Ви можете встановити кілька параметрів конфігурації:
- Місце зберігання резервного копіювання, де зберігаються отримані стислі файли резервної копії.
- День тижня запускається повне резервне копіювання (будь-який інший день виконуватиме додаткове резервне копіювання).
- Місце, де на вашому комп’ютері встановлено 7-Zip. Сценарій автоматично встановлюється для пошуку у типовому місці.
Якщо у вас є якісь пропозиції або запити щодо функцій, будь ласка, коментуйте їх нижче. Я б дуже хотів зробити подальшу статтю до цієї публікації, в якій є оновлений сценарій на основі введення читача. Якщо вам потрібні вказівки щодо використання "цього сценарію" або встановлення запланованого завдання, перегляньте посилання під джерелом сценарію.
Без зайвої приналежності, ось це:
Примітка : Оскільки котирування не відображаються належним чином (і в результаті це може зіпсувати сценарій), я включив під скрипт звичайне текстове посилання, яке ви можете використовувати для отримання точного джерела для копіювання.
@ECHO OFF REM BackupScript REM Версія 1.01, оновлено: 2008-05-21 REM Автор Джейсон Фолкнер (articles132solutions.com) REM Виконує повну чи поступову резервну копію папок і файлів, налаштованих користувачем. Використання REM --- REM> РЕКЛАМА BackupScript НАСТРОЙКІ НАЛАШТУВАННЯ ЕКСПЛУАТАЦІЇ ВКЛЮЧЕННЯ РЕКЛАМЕНТУ REM --- Опції конфігурації --- REM Розташування папки, куди потрібно зберігати отриманий резервний архів. REM Ця папка повинна існувати. Не ставте "\" в кінці, це буде додано автоматично. REM Ви можете ввести локальний шлях, зовнішній лист диска (наприклад, F :) або мережеве розташування (наприклад, \\ сервер \ резервне копіювання) SET BackupStorage = C: \ Резервне копіювання REM У який день тижня потрібно виконати повна резервна копія на? REM Введіть одне з наступних: НД, Пн, Вт, Ср, Чт, Пт, Сб, * REM Будь-який день тижня, крім зазначеного нижче, буде виконувати додаткове резервне копіювання. REM Якщо ви введете "*", кожного разу буде запускатися повна резервна копія. SET FullBackupDay = * REM Місце, де на комп'ютері встановлено 7-Zip. REM За замовчуванням знаходиться у папці "7-Zip" у вашому каталозі програмних файлів. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Тут нічого не змінюйте, якщо ви не знаєте, що робите. | REM + ------------------------------------------------ ----------------------- + REM Змінні використання. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt Валідація REM. ЯКЩО НЕ ІСНУЮТЬ% filBackupConfig% (ECHO Файл конфігурації не знайдено, відсутній:% filBackupConfig% GOTO End) ЯКЩО НЕ ЗНАЄТЬСЯ "% exe7Zip%" (ECHO 7-Zip не встановлений у місці розташування:% dir7Zip% ECHO. Будь ласка, оновіть каталог, де Встановлено 7-Zip. GOTO End) Змінні резервного копіювання REM. FOR / f "лексеми = 1, 2, 3, 4 delims = /" %% a IN ('дата / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) ЯКЩО {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Full SET swXCopy = / e) ELSE (SET txtBackup = Поступовий SET swXCopy = / s / d:% FileDate%) ECHO Початок копіювання файлів. ЯКЩО НЕ ІСНУЄТЬСЯ "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "пропустіть = 1 лексеми = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A АКЩО НЕ ІСНУЄ "! Поточний! "(ПОМИЛКА ECHO! Не знайдено:! Поточний!) ELSE (Копіювання ECHO:! Текуче! Вказівка призначення =% dirTempBackup% \! Поточний: ~ 0, 1! %% ~ pnxA REM Визначте, чи є запис файлом чи каталогом." ЯКЩО "%% ~ xA" == "" (Каталог REM. XCOPY "! Поточний!" "! Призначення!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (файл REM . COPY / v / y "! Поточний!" "! Місце призначення!"))) ECHO Виконано копіювання файлів. ECHO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Якщо файл резервної копії існує, видаліть його на користь нового файлу. ЯКЩО Є "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Стиснення резервних файлів. (Нове вікно) REM Стиснення файлів за допомогою 7-Zip у процесі нижчого пріоритету. СТАРТ "Стискання резервної копії. НЕ ЗАКРІТИ" / belownormal / зачекайте "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Готово стискає резервні файли. ECHO. Прибирання ECHO. ЯКЩО Є "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Кінець ECHO Закінчено. ECHO. ENDLOCAL
Звичайне джерело тексту доступне тут: резервне копіювання
Якщо вам потрібна допомога, щоб розпочати реалізацію цього сценарію, ось кілька посилань, які допоможуть вам допомогти:
- Як створити пакетний файл
- Як створити заплановане завдання для Windows
Це той самий сценарій, який я використовую для резервного копіювання комп'ютера щодня (з парою модифікацій, звичайно), тому я знаю, що він працює дуже добре. Сподіваюсь, ви вважаєте це корисним.
Насолоджуйтесь!
