Skrip Windows Batch Untuk Membuat Sandaran Data

Pengguna komputer yang telah berkembang dengan komputer Mac dan Windows canggih mungkin tidak menyedarinya, tetapi suatu ketika dahulu, semua komputer peribadi dikendalikan menggunakan antara muka baris perintah. Ya, kotak arahan yang tidak senonoh pada mesin Windows anda adalah satu-satunya cara yang paling banyak orang berinteraksi dengan komputer. Antaramuka baris perintah sangat bergantung pada program kecil yang disebut 'skrip', yang merupakan kumpulan perintah sistem operasi yang digunakan untuk melakukan tugas umum.

Walaupun antara muka pengguna grafik PC hari ini adalah tahun cahaya lebih canggih dan mudah digunakan daripada baris arahan lama, masih ada penggunaan kaedah pengendalian komputer anda yang lebih lama. Salah satu aplikasi yang paling biasa dan sesuai untuk skrip baris perintah adalah sandaran data. Skrip baris arahan dapat automatik untuk dijalankan pada bila-bila masa tanpa interaksi manusia, dan mempunyai sedikit batasan. Paling baik - mereka adalah bahagian terbina dalam sistem operasi Windows.

Mengapa Skrip Baris Perintah?

Mengapa menggunakan skrip baris perintah apabila terdapat program sandaran komersial dan percuma di luar sana? Nah, skrip baris perintah mempunyai sejumlah kelebihan unik. Berikut adalah beberapa daripadanya:

  • Perintah Asli : Apa cara yang lebih baik untuk membuat sandaran data daripada menggunakan fungsi yang tersedia melalui program yang membuat data? Sama ada ini adalah sistem operasi itu sendiri melalui perintah penyalinan fail yang mudah atau arahan pangkalan data untuk menghasilkan fail binari yang dapat dikembalikan, program sumber lebih tahu bagaimana membuat sandaran.
  • Kawalan Muktamad : Oleh kerana skrip baris arahan mengikuti prosedur langkah demi langkah yang mudah, anda tahu dengan tepat apa yang berlaku dan dapat mengubah tingkah laku dengan mudah.
  • Pantas : Oleh kerana semuanya adalah perintah asli, tidak ada yang ditafsirkan. Sekali lagi, anda menggunakan arahan yang disediakan oleh program itu sendiri, sehingga overhead dikurangkan minimum.
  • Kuat : Saya belum melihat tugas sandaran yang tidak dapat diselesaikan melalui skrip baris perintah ... dan saya telah melakukan beberapa perkara yang menyeronokkan. Walaupun anda mungkin perlu melakukan penyelidikan dan percubaan dan kesilapan jika anda mempunyai keperluan yang benar-benar unik, biasanya fungsi dan ciri bawaan bahasa skrip yang anda gunakan lebih dari cukup.
  • Percuma dan Fleksibel : Jelas, skrip baris perintah tidak memerlukan apa-apa kos (di luar waktu untuk mengembangkannya), jadi anda boleh menyalin skrip anda ke sejumlah mesin dan sistem dengan sedikit atau tanpa masa atau kos. Bandingkan dengan kos pembelian lesen untuk perisian sandaran di beberapa pelayan dan / atau mesin desktop.

Gambaran Ringkas Skrip Backup Batch

Sebilangan besar orang tidak pernah belajar menggunakan skrip baris perintah, dan ia dianggap sebagai "seni hitam". Walau bagaimanapun, sebenarnya perkara yang mudah untuk dipelajari. Untuk menunjukkan kehebatan baris perintah, saya menyediakan skrip kumpulan Windows ringkas yang boleh anda gunakan untuk membuat sandaran data penting anda. Skrip yang boleh dikonfigurasi dan disesuaikan ini tidak memerlukan pengetahuan (atau kesediaan untuk belajar) mengenai bahasa skrip kumpulan Windows, tetapi jika anda memutuskan ingin mempelajari lebih lanjut mengenai skrip kumpulan Windows, anda akan mendapati skrip ini menjadi tempat permulaan yang baik .

Apa yang dilakukan oleh skrip sandaran:

  1. Membuat sandaran penuh atau harian (lihat di bawah untuk definisi) cadangan fail dan folder yang anda tentukan dalam fail teks konfigurasi yang berasingan (lihat di bawah).
    • Apabila folder dinamakan, folder itu dan semua sub-folder disandarkan.
    • Apabila fail dinamakan, hanya fail yang disandarkan.
  2. Memampatkan (zip) fail yang disandarkan. Setelah semua fail yang akan disandarkan disalin, fail tersebut akan dimampatkan untuk menjimatkan ruang. 7-Zip diperlukan untuk dipasang pada sistem anda agar ini berfungsi.
  3. Tarikh fail yang dimampatkan dan memindahkannya ke lokasi penyimpanan. Setelah fail sandaran dimampatkan, arkib yang dihasilkan diberi nama file sesuai dengan tarikh semasa dan kemudian dipindahkan ke lokasi penyimpanan yang dikonfigurasi, seperti pemacu luaran atau lokasi rangkaian.
  4. Membersihkan diri sendiri. Setelah semua tugas selesai, skrip kumpulan membersihkan semua fail sementara yang dibuatnya.

Keperluan:

Windows 2000 / XP / 2003 / Vista atau lebih baru

7-Zip (percuma)

Fail konfigurasi:

Fail konfigurasi hanyalah fail teks yang mengandungi fail dan folder untuk sandaran, memasukkan satu item sandaran setiap baris. Fail ini mesti diberi nama "BackupConfig.txt" dan berada di folder yang sama dengan skrip sandaran. Berikut adalah contoh fail BackupConfig.txt (perhatikan, watak "#" pada baris pertama menunjukkan bahawa baris adalah komen; komen selalu diabaikan ketika skrip dijalankan):

# Masukkan nama fail dan folder, satu per baris.

C: Dokumen dan TetapanJason FaulknerDesktop C: Dokumen dan TetapanJason FaulknerDokumen SayaFile Penting C: SkripBackupScript.bat

Contoh di atas akan membuat sandaran desktop pengguna Windows Jason Faulkner (dan semua folder di desktop), folder yang disebut "Fail Penting" di dalam Dokumen Saya (dan semua folder di dalam "Fail Penting") dan fail "BackupScript.bat" di dalamnya direktori C: Skrip.

Jenis sandaran:

  • Sandaran penuh: Salinan lengkap semua fail dan folder (termasuk sub-folder) disertakan dalam sandaran.
  • Cadangan tambahan: Apabila folder disediakan, hanya fail yang dibuat atau diubah pada tarikh semasa adalah

    disokong. Apabila fail disediakan, ia selalu disandarkan, tidak kira bila ia diubah.

Skrip Batch Windows Sandaran Data

Saya ingin menekankan bahawa skrip ini sangat asas, kerana semua itu adalah membuat sandaran dengan menggunakan salinan fail yang mudah. Terdapat beberapa pilihan konfigurasi yang boleh anda tetapkan:

  • Lokasi penyimpanan sandaran di mana fail sandaran yang dihasilkan disimpan.
  • Hari dalam seminggu sandaran penuh dijalankan (pada hari lain akan menjalankan cadangan tambahan).
  • Lokasi tempat 7-Zip dipasang di komputer anda. Skrip secara automatik ditetapkan untuk melihat di lokasi lalai.

Sekiranya anda mempunyai cadangan atau permintaan ciri, sila komen di bawah. Saya sangat ingin membuat artikel lanjutan dari catatan ini yang menampilkan skrip yang diperbaharui berdasarkan input pembaca. Sekiranya anda memerlukan petunjuk tentang cara "menggunakan" skrip ini atau menyiapkan tugas yang dijadualkan, lihatlah pautan di bawah sumber skrip.

Tanpa basa-basi, berikut adalah:

Catatan: Oleh kerana tanda kutip tidak ditampilkan dengan betul di bawah (dan akibatnya dapat mengacaukan skrip), saya telah memasukkan pautan teks biasa di bawah skrip yang dapat anda gunakan untuk mendapatkan sumber yang tepat untuk disalin.

@ECHO OFF REM BackupScript REM Versi 1.01, Dikemas kini: 2008-05-21 REM Oleh Jason Faulkner (artikel [-at-] 132solutions.com) REM Melakukan sandaran penuh atau tambahan folder dan fail yang dikonfigurasikan oleh pengguna. Penggunaan REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Pilihan Konfigurasi --- Lokasi folder REM tempat anda ingin menyimpan arkib sandaran yang dihasilkan. REM Folder ini mesti ada. Jangan meletakkan tanda '' di hujungnya, ini akan ditambah secara automatik. REM Anda boleh memasukkan jalan tempatan, huruf pemacu luaran (mis. F :) atau lokasi rangkaian (mis. \ Serverbackups) SET BackupStorage = C: Cadangan REM Hari mana dalam seminggu anda ingin melakukan sandaran penuh? REM Masukkan salah satu daripada yang berikut: Matahari, Isnin, Sel, Rabu, Khu, Jum, Sab, * REM Setiap hari dalam seminggu selain yang dinyatakan di bawah akan menjalankan cadangan tambahan. REM Sekiranya anda memasukkan '*', sandaran penuh akan dijalankan setiap masa. SET FullBackupDay = * Lokasi REM di mana 7-Zip dipasang di komputer anda. REM Lalai adalah dalam folder, '7-Zip' di direktori Program Files anda. SET InstallLocationOf7Zip =% ProgramFiles% 7-Zip REM + --------------------------------------- -------------------------------- + REM | Jangan ubah apa-apa di bawah ini kecuali anda tahu apa yang anda lakukan. | REM + ------------------------------------------------ ----------------------- + Pemboleh ubah penggunaan REM. SET exe7Zip =% InstallLocationOf7Zip% 7z.exe SET dirTempBackup =% TEMP% sandaran SET filBackupConfig = BackupConfig.txt Pengesahan REM. JIKA TIDAK ADA% filBackupConfig% (ECHO Tidak terdapat fail konfigurasi, hilang:% filBackupConfig% GOTO End) JIKA TIDAK ADA "% exe7Zip%" (ECHO 7-Zip tidak dipasang di lokasi:% dir7Zip% ECHO Sila kemas kini direktori di mana 7-Zip dipasang. GOTO End) Pemboleh ubah sandaran REM. FOR / f "token = 1,2,3,4 delims = /" %% a IN ('date / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) JIKA {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = SET penuh swXCopy = / e) LAIN (SET txtBackup = SET tambahan swXCopy = / s / d:% FileDate%) ECHO Mula menyalin fail. JIKA TIDAK ADA "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 token = *" %% A IN (% filBackupConfig%) DO (SET Semasa = %% ~ A JIKA TIDAK ADA "! Semasa! "(KESILAPAN ECHO! Tidak dijumpai:! Semasa!) ELSE (Menyalin ECHO:! Semasa! SET Destinasi =% dirTempBackup%! Semasa: ~ 0,1! %% ~ pnxA REM Tentukan apakah entri itu adalah fail atau direktori. JIKA "%% ~ xA" == "" (Direktori REM. XCOPY "! Semasa!" "! Destinasi!" / v / c / i / g / h / q / r / y% swXCopy%) ELSE (Fail REM. COPY / v / y "! Semasa!" "! Destinasi!"))) ECHO Selesai menyalin fail. ECHO. SET BackupFileDestination =% BackupStorage% Backup_% FileDate% _% txtBackup% .zip REM Sekiranya fail sandaran ada, alih keluar memihak kepada fail baru. JIKA ADA "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Memampatkan fail yang disandarkan. (Tetingkap baru) REM Kompres fail menggunakan 7-Zip dalam proses keutamaan yang lebih rendah. MULAI "Memampatkan Sandaran. JANGAN TUTUP" / belownormal / tunggu "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup%" ECHO Selesai memampatkan fail yang disandarkan. ECHO. Pembersihan ECHO. JIKA ADA "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Tamat ECHO Selesai. ECHO. TAMAT

Sumber teks biasa terdapat di sini: sandaran

Sekiranya anda memerlukan bantuan untuk memulakan skrip ini, berikut adalah beberapa pautan untuk membantu anda:

  • Cara membuat fail Batch
  • Cara membuat Tugas Berjadual Windows

Ini adalah skrip yang sama yang saya gunakan untuk membuat sandaran komputer saya setiap hari (tentu saja dengan beberapa pengubahsuaian), jadi saya tahu ia berfungsi dengan baik. Saya harap anda menganggapnya berguna.

Selamat mencuba!

Recent Posts