Сам бекап буде проходити за допомогою bat файлу, який буде запускати архівацію даних 7-zip через консоль. Після архівації буде виконуватися перевірка існуючих бекапів на ім'я для видалення старих резервних копій і, відповідно, економії місця на диску. Імена архівів, в свою чергу, матимуть імена, відповідні датою архівації.
Тож почнемо:
# Вище описаним ми задаємо параметри іменування файлів архівів, тобто наші бекапи. А саме виходить формат рррр-мм-чч.
echo Start WORK
7z a [email protected] -t7z -mx9 -ssw F: \ Backup \ Work \ bkp-% now% .7z C: \ Work -scsWIN
# Вказуємо архіватор, що в F: \ Backup \ Work потрібно помістити архів, що містить папку C: \ Work
echo Start clearing
cscript / nologo clear.vbs Work
# Рядок вище описує, до якій папці з резервних копій застосувати скрипт очищення, для видалення старих архівів.
echo Stop clearing
# Вище описаний код запускає скрипт очищення від старих резервних копій.
clear.vbs
dim fso. Set fso = CreateObject ( "Scripting.FileSystemObject")
dim strRootPath. strRootPath = fso.GetAbsolutePathName ( ".")
Dim ToDay. ToDay = Date ()
Dim Prev_days. Prev_days = DateAdd ( "d", -3, Date ())
#Увага! попередній рядок описує від якого числа потрібно видаляти старі бекапи. У коді наведено приклад видалення всіх бекапів, які створені раніше, ніж сьогодні - 3 дні. Відповідно, цифру 3 можете поміняти на будь-яку іншу, в залежності від потреб. Важливим є те, що будуть видалені бекапи, створені (сьогодні - Х днів) назад.
Set objArgs = WScript.Arguments
Set dFolder = fso.GetFolder (strRootPath "" objArgs (0))
dim regEx. Set regEx = New RegExp
For Each dFile In dFolder.Files
set matches = regEx.execute (dFile.Name)
if matches.Count> 0 then
Set match = matches (0)
If match.SubMatches.Count> 0 Then
Файли backup.bat. cleat.vbs і exclude.txt повинні знаходитися в одній папці, причому в папці з резервних копій. А саме, якщо розглядати наш приклад, то в F: / Backup.
Шляхи, описані у файлі, backup.bat повинні бути введені тільки латиницею. Якщо шляху будуть містити символи кирилиці, то бекап не буде проходити. Імена файлів і папок в директорій для архівації не мають значення, але шлях до папки архівації ОБОВ'ЯЗКОВО повинен бути на латиниці.
Можна робити бекапи будь-яких дисків / файлів / папок, але файли не повинні використовуватися в момент архівації, відповідно, якщо ви хочете зберігати бази sql, то вам спочатку доведеться зупинити службу sql-сервера. Також слід помітить, якщо ви робите бекап файлів в мережевій теці користувачів, то потрібно робити його в неробочий час, щоб користувачі вашої мережі не використовували файли, помічені для архівації.
Плюси даного способу
Бекап даних із загальною мережевої папки, а також можливість відновити ці дані завжди дуже важливі для стабільної роботи мережі. Якщо вам необхідно підтримувати тижневу актуальність бекапа, то досить налаштувати скрипт очищення бекапов так, щоб він видаляв архіви тільки старше тижні.
Також одним з переваг даного способу є те, що самі бекапи будуть займати значно менше місця на диску, на відміну від простого копіювання даних.
Є можливість тримати список винятків для архівації, що безсумнівно дозволить скоротити місце, займане архівами, а також робити копії тільки необхідних даних.
Мінуси даного способу
На жаль, даний спосіб не застосуємо для бекапа папок з російськомовними іменами (вкладені папки і файли значення не мають). Також процес архівації вельми ресурсномісткий, а також займає час. Відповідно, ресурси сервера повинні дозволяти це зробити якомога швидше. Однак, нинішній прогрес в сфері комп'ютерів та комплектуючих настільки далеко зайшов, що цей невеликий мінус можна і опустити. 4-ядерного процесора з тактовою частотою 2Ггц і 4 ГБ пам'яті на комп'ютері цілком вистачить, щоб провести подібний бекап загальної мережевої папки, що містить в більшій мірі робочі документи (WORD, EXCEL, POWER POINT), об'ємом понад 12 Гігабайт, приблизно за півтори години. Отриманий архів буде об'ємом в 2 Гб.
Якщо слово "фотографія" перевести з давньогрецького, то вийти "світлопис". Люди завжди хотіли зберегти найкращі моменти свого життя і тому дуже давно навчилися робити фотографії. Весільні фотографи дарують людям пам'ять про кращі моменти їх життя. На кожному весіллі повинен бути фотограф, щоб після кількох років освіжити спогади.
Випадкові 7 статей:
У батники замість # потрібно писати REM. А скрипт не працює взагалі - видається помилка "припускає наявність інструкцій"
fso.GetAbsolutePathName ( ".") - точку замінив на шлях виду D: \ Backup \
Set dFolder = fso.GetFolder (strRootPath)
З російськими іменами ніяких проблем немає. Просто файл потрібно зберігати в 866 кодуванні!
Доброго времени суток, видає помилку "Індекс виходить за межі допустимого діапазону"
Patirot Шлях введення замінили на D: \ Backup \
Set dFolder = fso.GetFolder (strRootPath)
отримали fso.GetAbsolutePathName ( "D: \ Backup \
Set dFolder = fso.GetFolder (strRootPath) ")
де якщо наслідувати приклад потрібно вказувати F: \ Backup \
Set dFolder = fso.GetFolder (strRootPath)
Але, суть питання не в цьому.
У мене знову вилаявся на 5,1 п'яту сходинку ... може там теж потрібні метоморфози))) Якщо вкажіть буду вдячний.
добрий день, підкажіть яким чином у файлі винятків прописуються директорії?