واحدة من أكثر المهام إشكالية بالنسبة للمستخدم العادي هي النسخ الاحتياطي تحت Windows ، مما يضمن إغلاق المشكلات التالية:
- سريع (مثالي في الخلفية) ؛
- سيحتفظ بكل من الإصدار الحالي للملفات والإصدارات السابقة ؛
- تخزين الملفات لن يكون متاحًا للفيروسات أو الكوارث الطبيعية مثل تدمير الوسط أو سرقته ؛
- يمكن الوصول إلى محتويات النسخة الاحتياطية فقط من قبل المستخدم ، أي محمي بكلمة مرور.
هناك العديد من الاقتراحات لهذا ، ولكن لم يكمل أي منها المهمة. لا يوفر النسخ السهل والبسيط السرعة ، ولا يوفر الحفظ السريع الموثوقية ، ولا يضمن النسخ إلى محرك أقراص ثابت خارجي سرقته.
ومع ذلك ، لفترة طويلة هناك أدوات لحل المشكلة. الشيء الرئيسي هو تطبيق طريقة Unix والملفات الدفعية بشكل صحيح. والخيار الأسهل هو أرشفة الملفات في أرشيف واحد وإرسالها إلى التخزين عبر الإنترنت باستخدام سطر الأوامر. لتسريع العمل ، يتم تقسيم المهمة إلى مرحلتين - أولاً ، يتم إنشاء أرشيف كامل وإرساله إلى التخزين عبر الإنترنت ، ثم يتم إنشاء أرشيفات إضافية حسب الضرورة ، مما يعطي السرعة. يضمن تشفير الأرشيف أمان البيانات.
ما هو المطلوب لحل المشكلة:
- حساب Yandex للحصول على وصول webdav إلى قرص Yandex. لا يحظر استخدام أي تخزين آخر ؛
- 7z - أرشفة وحدة التحكم ، يتم توزيعها مجانًا ؛
- curl - أداة وحدة تحكم للعمل مع الإنترنت ، يتم توزيعها مجانًا.
لقابلية النقل ، وضعت
7z.exe و 7
z.dll و
Curl.exe في دليل واحد. بناءً على كيفية
تصنيف Curl.exe ، قد يكون من الضروري وضع
مكتبات libeay32.dll أو
libssh2.dll أو
msvcr100.dll أو
MSVCR110.dll في مكان قريب أو إضافتها إلى النظام.
علاوة على ذلك ، في هذا الدليل ، من المستحسن إنشاء دليل تريد وضع الملفات والأدلة فيه للأرشيف المستقبلي. لقد أطلق عليها اسم
"النسخ الاحتياطي" وأضع روابط ثابتة للملفات أو ارتباط دليل بها (الوظيفة المقابلة موجودة في FAR باستخدام تركيبة المفاتيح Alt + F6). وبالتالي ، يمكنني ، دون تغيير بنية البيانات الموجودة ، إنشاء بنية مناسبة لي للنسخ الاحتياطي.
الدليل التالي هو
درجة الحرارة . مصممة لتخزين أرشيف البيانات قبل إرسالها إلى الخادم. في الوقت نفسه ، ستكون نسخة مشفرة من البيانات الحالية ، والتي توفر نسخًا احتياطيًا إضافيًا في حالة حدوث هجوم فيروس.
ثم في دليل المصدر تحتاج إلى إنشاء ملف مضرب بسيط إلى حد ما (cmd)
"full.bat" بالمحتويات التالية:
@echo off set filebkp=work set pathbkp=backup set srvbkp=https://user:password@webdav.yandex.ru/backup/%filebkp% set pathtemp=temp set full=%filebkp%-full del /F /Q "%pathtemp%"\ 7z.exe a "%pathtemp%\%full%".7z -x!*.log; -r -mx1 "%pathbkp%\*" -ppass_for_archive curl.exe -k -X DELETE "%srvbkp%" --verbose -o .\stdout curl.exe -k -X MKCOL "%srvbkp%" --verbose -o .\stdout curl.exe -k -T "%pathtemp%\%full%".7z "%srvbkp%"/ --progress-bar --verbose -o .\stdout
- set filebkp = work - قم بتعيين الاسم الشائع للكمبيوتر والمسار على الخادم حيث سيتم تخزين النسخة الاحتياطية. لأن قد يكون هناك العديد من أجهزة الكمبيوتر ، ثم يمكن أن تكون نسخة احتياطية من جهاز كمبيوتر يعمل (العمل) ، المنزل (المنزل) ، كمبيوتر محمول (كتاب) ، تشير إلى أن اسمًا فرديًا لن يسمح للنسخ بالاختلاط مع بعضها البعض.
- set pathbkp = backup - تحديد المسار إلى الدليل حيث يتم تخزين بيانات النسخ الاحتياطي ، وفي هذه الحالة يتم الإشارة إلى الدليل الذي يحتوي على روابط ثابتة وروابط دليل كان عليك إنشاؤها مسبقًا.
- set srvbkp = https: // user: password@webdav.yandex.ru/backup/٪filebkp٪ - قم بتعيين الدليل على الخادم حيث سيتم تحميل النسخة الاحتياطية. المستخدم وكلمة المرور - كلمات المرور من حسابك على Yandex ؛
- تعيين كامل =٪ filebkp٪ -full - قم بتعيين اسم الأرشيف مسبقًا.
- del / F / Q "٪ pathtemp٪" \ - احذف (امسح) الدليل المؤقت
- 7z.exe a "٪ pathtemp٪ \٪ full٪". 7z -x! *. سجل؛ -r -mx1 "٪ pathbkp٪ \ *" -p pass_for_archive - خط التشغيل للأرشيف . pass_for_archive - كلمة مرورك للأرشيف.
- curl.exe -k -X DELETE "٪ srvbkp٪" - verbose -o. \ stdout - احذف دليل الوجهة على الخادم.
- curl.exe -k -X MKCOL "٪ srvbkp٪" - verbose -o. \ stdout - إعادة إنشاء دليل الوجهة على الخادم.
- curl.exe -k -T "٪ pathtemp٪ \٪ full٪". 7z "٪ srvbkp٪" / --progress-bar --verbose -o. \ stdout - تحميل أرشيف curl إلى الخادم.
وهكذا ، من خلال تشغيل البرنامج النصي
"full.bat" ، ستتلقى النسخة الكاملة من ملفاتك في الأرشيف في دليل
"temp" والشيء نفسه في دليل
"النسخ الاحتياطي / العمل" على الخادم ، المشفر بكلمة المرور الخاصة بك. قد يستغرق هذا بعض الوقت ولديه قيود على حجم الأرشيف ، ولكن يجب أرشفة البيانات الأكثر أهمية وفي نفس الوقت اليومية المتغيرة بهذه الطريقة.
لماذا هي مهمة وتتغير يوميا؟ لأن النص البرمجي التالي
"inc.bat" يسمح لك بالعثور على البيانات المعدلة وإرسالها إلى الخادم في أرشيف تزايدي يختلف عن الإصدار الكامل:
@echo off set filebkp=work set pathbkp=..\backup set srvbkp=https://user:password@webdav.yandex.ru/backup/%filebkp% set pathtemp=..\temp set full=%filebkp%-full set inc=%filebkp%-inc set h=%TIME:~0,2% set m=%TIME:~3,2% set s=%TIME:~6,2% set ms=%TIME:~9,2% set curtime=%h%-%m%-%s% set dd=%DATE:~0,2% set mm=%DATE:~3,2% set yyyy=%DATE:~6,4% set curdate=%yyyy%-%mm%-%dd% set curdatetime=%curdate% %curtime% 7z.exe u "%pathtemp%\%full%".7z -x!*.log; -u- -up3q3r2x2y2z0w2!"%pathtemp%\%inc%".7z "%pathbkp%\*" -ppass_for_archive ren "%pathtemp%\%inc%".7z "%inc% %curdatetime%".7z curl.exe -k -T "%pathtemp%\%inc% %curdatetime%".7z "%srvbkp%"/ --progress-bar --verbose -o .\stdout
أعتقد أنه يمكنك فك تشفير هذا الملف بنفسك - باستخدام 7z ، يقوم البرنامج النصي بتحليل الأرشيف الكامل والدليل المصدر في الدليل
المؤقت ، والعثور على الملفات التي تم تغييرها ، وحزمها في أرشيف تزايدي مسمى بالتاريخ والوقت الحاليين ، وإرساله إلى الخادم. وبالتالي ، إذا كانت النسخة الاحتياطية الكاملة تستغرق 1 غيغابايت و 3 دقائق من الوقت ، فإن الملفات المعدلة تستغرق عادةً 10-50 ميغابايت وتنتقل إلى الخادم في بضع ثوانٍ. بوضع
"inc.bat" في برنامج جدولة المهام لـ Windows ، ستسمح بإجراء هذه العملية وفقًا لجدول زمني في الوقت المناسب لك ، مما سيسمح لك بنسيانها.
عندما يبدو لك أن وقت إنشاء نسخ إضافية قد أصبح طويلًا جدًا ، يمكنك تشغيل
"full.bat" مرة أخرى - سيؤدي هذا إلى محو جميع الأدلة من الأرشيفات الكاملة والتزايدية وإنشاء نسخة جديدة من النسخة الكاملة.