File cadangan dan database SQL 1C (di cloud dan dengan enkripsi)

Dalam artikel ini saya ingin berbagi pengalaman membuat cadangan file dan database SQL 1C ke penyimpanan lokal, jaringan dan cloud (menggunakan contoh Google Drive) menggunakan Effector Saver.

Perangkat lunak ini dibayar: 2500 rubel.
Transisi ke versi baru (dari 3 ke 4) juga dibayar: 1250₽.

Saya menulis instruksi untuk seorang teman, tetapi saya pikir itu akan berguna bagi salah satu dari Anda.

Dan seperti biasa, di komentar, Anda akan mengajari saya sesuatu yang baru =)

Di akhir instruksi adalah contoh log yang menunjukkan kecepatan tugas.

Tujuan:
Pembuatan cadangan terenkripsi secara otomatis pada jadwal dengan laporan kesalahan ke surat.

Cadangan logis:

  • 30 pcs terakhir setiap hari (umur simpan 1 bulan)
  • Bulanan 1 hari terakhir 24 pcs (umur simpan 2 tahun)
  • Setiap tahun, pada tanggal 1 Februari, 10 pcs terakhir.
  • Cadangan diunggah ke penyimpanan cadangan (lokal atau jaringan) dari bawah akun cadangan
  • Cadangan diunggah ke cloud Goole Drive (mungkin dengan Klien / Rahasia OAuth sendiri)
  • Laporan kesalahan email

Sedikit penjelasan

  • Manual ini disediakan sebagai contoh penggunaan siap pakai yang dapat dan harus disesuaikan dengan kebutuhan Anda.
  • Tugas dapat berjalan pada saat bersamaan, karena tugas paralel didukung, yang secara signifikan mengurangi waktu untuk pencadangan.
  • Penyalinan tambahan dilakukan berdasarkan tugas, mis. menyalin cadangan terakhir yang sudah dibuat. Misalnya, jika penyalinan tambahan akan dilakukan pada tanggal 10, dan cadangan tugas yang dipilih dari tanggal 10 berakhir dengan kesalahan (dan kami tidak melakukan intervensi), maka penyalinan tambahan akan membuat salinan untuk cadangan sukses terakhir dari tugas yang dipilih, dalam contoh kami akan berasal dari ke-9.
  • Dalam program ini, Anda dapat mengonfigurasi pembongkaran basis data menggunakan alat 1C dalam bentuk file .dt, dengan penguncian / penguncian otomatis basis data dan mengeluarkan pengguna. Dalam manual ini, metode ini tidak dianggap sebagai cara yang tidak dapat diandalkan untuk membuat cadangan format .dt.

1. Instalasi dan pengaturan
Instal, jalankan.
- Alat> Opsi

  • Muat otomatis
    Jalankan sebagai layanan Windows (server)
    pengguna cadangan, kata sandi Anda

    Penjelasan untuk pengguna cadangan, untuk akun yang terpisah
    Untuk cadangan, saya menganggap penting untuk membuat dan menggunakan akun terpisah, misalnya cadangan. Ini dapat berupa akuntansi lokal dan domain.
    Akses ke penyimpanan cadangan untuk admin harus dikonfigurasi untuk membaca, dan hanya untuk cadangan akuntansi untuk menulis. Ini akan melindungi cadangan Anda dari banyak bahaya (kepala yang buruk, virus). Dan jika Anda perlu melakukan perubahan pada penyimpanan cadangan, Anda selalu dapat memberikan diri Anda akses sementara, atau menjalankan penjelajah mana pun (misalnya, Total Commander) atas nama akun cadangan untuk akses penuh ke penyimpanan.

  • Parameter Agen
    Izinkan pekerjaan bersamaan tugas streaming : 5
    Kami memilih Internet dari daya server dan kecepatan saluran (untuk mengunggah ke cloud)
    Gunakan direktori file sementara yang ditentukan :
    \\ NAS \ Cadangkan \ Temp

    Penjelasan Jalur Jaringan
    Diinginkan untuk menempatkan folder jaringan pada komputer dengan program ini, mis. sebenarnya bagi kami itu akan menjadi folder lokal (jika kecepatan memungkinkan, maka jalur jaringan lainnya).
    Akses ke folder Temp (direktori file sementara) seharusnya:

    1. untuk penulisan cadangan
    2. untuk akuntansi dari mana layanan MS SQL Server berjalan untuk menulis
    3. administrator untuk membaca

    Sayangnya, program ini tidak melaporkan fitur-fiturnya kepada pengguna ketika ia membuat cadangan dari database SQL. Dia percaya bahwa server SQL ada di komputer yang sama dengannya. Ketika cadangan dari database SQL dibuat, jalur ke folder sementara diteruskan ke server SQL secara harfiah, dan server SQL mengunggah cadangan ke folder sementara lokalnya. Setelah itu, ia tidak dapat menemukan cadangan di folder sementara dan melempar kesalahan.

    Untuk mengatasi pembatasan ini, kami memilih jalur jaringan untuk folder sementara. Kemudian server SQL akan menerima jalur jaringan dan akan membongkar cadangan di alamat ini.

    Dalam versi mendatang, pengembang berjanji untuk berpikir tentang menambahkan pengaturan untuk tugas cadangan SQL, di mana akan mungkin untuk menentukan jalur jaringan untuk pembongkaran, dan tidak mengubah jalur umum ke folder sementara.
  • Opsi Manajer
    Tetapkan kata sandi jika pengguna yang tidak diinginkan dapat mengakses program.
  • File Arsip
    Opsi untuk mengakhiri nama arsip : yyyy.mm.dd_hh.nn.ss
    Untuk estetika dan nama tanpa spasi (kebiasaan lama)
  • Kantor
    Data aplikasi OAuth di cloud - Perbarui data ClientID / ClientSecret

    Tidak perlu melakukan perubahan di sini, tetapi seperti biasa ada TETAPI kecil
    Baru-baru ini, saya menerima kesalahan saat mengunggah cadangan ke cloud karena batas OAuth terlampaui. Kesalahannya hanya sekali, pengembang memperbaiki masalah ini, tetapi mengapa menunggu lagi. Saya memutuskan untuk mendapatkan OAuth saya di Google Drive dan melupakannya.
    Instruksi dengan gambar tentang cara mendapatkan ID Klien dan Rahasia Anda ditemukan di sini: https://github.com/Cloudbox/Cloudbox/wiki/Google-Drive-API-Client-ID-and-Client-Secret

2. Persiapan
- Alat> Manajemen Penyimpanan> Buat
  • Folder lokal / jaringan :
    Semuanya jelas di sini, mengikuti logika cadangan kami (di awal artikel) kami membuat 3 repositori untuk kenyamanan
    \\ NAS \ Backup \ EveryDay
    \\ NAS \ Backup \ EveryMonth
    \\ NAS \ Cadangkan \ Setiap Tahun
  • Google drive :
    Buat koneksi ke Google Cloud drive.
    Mari kita beri nama sesuai dengan logika kita: EveryDay
    Klik tombol Otorisasi , masukkan nama pengguna / kata sandi, siap.

    Jika Anda mengonfigurasinya dari jarak jauh di server atau komputer lain
    Kemudian Anda dapat melakukan otorisasi dengan cara alternatif. Kami menutup jendela masuk dan entri kata sandi - kesalahan otorisasi muncul - klik tombol Mode pengguna , lalu klik tautan Dapatkan kode konfirmasi, tautan otorisasi akan terbuka di browser. Salin tautan ke komputer Anda, masuk ke komputer Anda, konfirmasi hak akses, dapatkan kunci, salin kembali ke bidang di jendela otorisasi aplikasi dalam mode pengguna , klik OK

    Pilih jalur ke folder di cloud, dengan cara yang sama:
    Cadangkan / Setiap Hari

    Kami melakukan penyimpanan cloud tambahan untuk salinan bulanan dan tahunan melalui penyalinan (Buat> Salin)
    Hasilnya, kami mendapatkan 3 penyimpanan cloud:
    EveryDay (Google Drive)
    EveryMonth (Google Drive)
    EveryYear (Google Drive)
    Ini melengkapi pengaturan Manajemen Gudang .

3. Membuat tugas cadangan

3.1. Tugas> Tambah Tugas> Mencadangkan File dan Basis Data (SQL)
  • Parameter kunci
    Sertakan cadangan dari database SQL dalam arsip (misalnya, Microsoft SQL Server)
  • Microsoft SQL Base
    Kami mendaftarkan semua detail.
    Kami memeriksa bahwa port TCP 1433 terbuka di server MS SQL.
    Klik: Periksa
  • Penyimpanan arsip
    - Tambahkan penyimpanan \\ NAS \ Backup \ EveryDay
    Secara otomatis menghapus cadangan yang sudah usang : 30
    - Tambahkan penyimpanan EveryDay (Google Drive)
    Secara otomatis menghapus cadangan yang sudah usang : 30
  • File arsip
    Nama file arsip : nama basis data
    Akhir nama arsip : yyyy.mm.dd_hh.nn.ss
    Pengarsipan
    Format : 7z
    Kompresi : tidak ada kompresi

    Kenapa tidak ada kompresi?
    Saat mencadangkan database SQL Anda, Anda harus mempertimbangkan 2 opsi

    1. Kompresi basis data menggunakan alat SQL server. - Cepat, tetapi kompres lebih buruk dari 7z.
    Jika Anda memilih opsi ini, maka Anda perlu:
    - Pilih: tidak ada kompresi (karena mengompresi file .bak yang sudah dikompresi tidak berguna)
    - Dalam properti MS SQL Server meliputi : Opsi Database> Kompres cadangan.

    2. Kompresi database dengan 7z - Lambat, tetapi kompres lebih baik dari SQL.
    Jika Anda memilih opsi ini, maka Anda perlu:
    - Pilih: kompresi maksimum
    - Dalam properti MS SQL server, nonaktifkan : Parameter basis data> Kompres cadangan.

    Dalam cadangan SQL, saya menggunakan opsi pertama, meskipun kompresnya lebih buruk, tetapi pembongkaran dilakukan dalam hitungan menit (atau bahkan detik). Tetapi opsi kedua dapat meregangkan selama berjam-jam.

    Dalam versi program yang akan datang, para pengembang berjanji untuk berpikir tentang menambahkan opsi mengompresi basis data MS SQL ke properti tugas agar tidak mengalami sifat-sifat server MS SQL.

    Enkripsi arsip
    Enkripsi nama file
    Tetapkan kata sandi (catat, jika Anda lupa, cadangan tidak akan dikembalikan)
  • Jadwal Mulai:
    Jalankan sesuai jadwal : aktifkan
    Setiap hari 03:00
  • Batalkan tugas di: aktifkan
    2 jam 0 mnt

3.2. Tugas> Tambah tugas> Mencadangkan file dan basis data (file)
  • Parameter kunci
    Sertakan file dalam arsip
  • File
    Path ke file : Pilih path ke folder di mana basis file 1C berada, misalnya, "D: \ Bases"
    Jika kami ingin mencadangkan semua database di subdirektori, pilih:
    Nama file yang disimpan, direktori ... :
    1Cv8.1CD
    Sertakan subdirektori (secara rekursif)

    Jika kami ingin membuat cadangan basis data yang dipilih di subdirektori, pilih:
    Nama file yang disimpan, direktori ... :
    Buh \ 1Cv8.1CD
    Perdagangkan \ 1Cv8.1CD
  • Penyimpanan arsip
    - Tambahkan penyimpanan \\ NAS \ Backup \ EveryDay
    Secara otomatis menghapus cadangan yang sudah usang : 30
    - Tambahkan penyimpanan EveryDay (Google Drive)
    Secara otomatis menghapus cadangan yang sudah usang : 30
  • File arsip
    Nama file arsip : nama basis data
    Akhir nama arsip : yyyy.mm.dd_hh.nn.ss
    Pengarsipan
    Format : 7z
    Kompresi : maksimum
    Enkripsi arsip
    Enkripsi nama file
    Tetapkan kata sandi (catat, jika Anda lupa, cadangan tidak akan dikembalikan)
  • Jadwal Mulai:
    Jalankan sesuai jadwal : aktifkan
    Setiap hari 03:00
  • Batalkan tugas di: aktifkan
    2 jam 0 mnt

Kami mengatur tugas utama pencadangan harian, beralih ke tugas tambahan

4. Tugas> Tambah tugas> Menyalin tambahan
  • Parameter kunci
    Tugas cadangan - sumber : pilih tugas yang diinginkan
    Penyimpanan ... sumber : pilih penyimpanan \\ NAS \ Backup \ EveryDay
  • Penyimpanan arsip
    - Tambahkan penyimpanan \\ NAS \ Backup \ EveryMonth
    Secara otomatis menghapus cadangan yang usang : 24
    - Tambahkan penyimpanan EveryMonth (Google Drive)
    Secara otomatis menghapus cadangan yang usang : 24
  • File arsip
    Nama file arsip : nama basis data
    Akhir nama arsip : yyyy.mm.dd_hh.nn.ss
    Pengarsipan
    Format : 7z
    Kompresi : tidak ada kompresi
    Enkripsi arsip
    Enkripsi nama file
    Tetapkan kata sandi (catat, jika Anda lupa, cadangan tidak akan dikembalikan)
  • Jadwal Mulai:
    Jalankan sesuai jadwal : aktifkan
    Bulanan. Semua bulan adalah hari pertama.
    05:00
  • Batalkan tugas di: aktifkan
    2 jam 0 mnt

Dengan analogi, kami membuat tugas salin tambahan untuk rencana tahunan , untuk kecepatan, menyalin tugas bulanan terakhir dan mengubah nama, penyimpanan, dan jadwal di dalamnya
  • Penyimpanan arsip
    - Tambahkan penyimpanan \\ NAS \ Backup \ EveryYear
    Secara otomatis menghapus cadangan yang usang : 12
    - Tambahkan penyimpanan EveryYear (Google Drive)
    Secara otomatis menghapus cadangan yang usang : 12
  • Jadwal Mulai:
    Jalankan sesuai jadwal : aktifkan
    Bulanan. 1 Februari (tahun ditutup)
    05:00

Kami mengonfigurasi tugas cadangan tambahan, kami melanjutkan ke pembuatan laporan melalui email

5. Tugas> Tambah tugas> Mengirim laporan
  • Parameter kunci
    Jumlah hari ... : 1
  • Kami memilih semua tugas, untuk semua yang kami pilih filter catatan: Entri log dengan kesalahan
  • Opsi Surat
    Isi rincian surat. Di mana dan dengan topik apa untuk mengirim laporan.
  • Jadwal Mulai:
    Jalankan sesuai jadwal : aktifkan
    Setiap hari
    07:00

Tetap menjalankan semua tugas secara bergantian dan memeriksa kesalahan.

Contoh log cadangan dari basis data MS SQL dengan berat 52GB (mdf):
===========================================
: Base1
:
: SRVTS0
: 4.5 / 2
: ,
: 11.11.2019 4:01:08
: 11.11.2019 5:13:57
:
===========================================
11.11.2019 4:01:08 - MSSQL "Base1" ...
11.11.2019 4:01:08 - SQL Server version 11
11.11.2019 4:22:15 -
11.11.2019 4:22:15 - ...
11.11.2019 4:22:15 - 7z, , c
11.11.2019 4:26:50 - 1 , 0
11.11.2019 4:26:50 -
11.11.2019 4:26:52 - 5,41 GB "EveryDay (Google )" ...
11.11.2019 4:26:54 - "Base1_2019.11.11_04.26.52.7z" 5,41 GB (1 1)
11.11.2019 5:13:57 -
11.11.2019 4:26:52 - 5,41 GB "\\NAS\Backup\EveryDay" ...
11.11.2019 4:26:52 - "Base1_2019.11.11_04.26.52.7z" 5,41 GB (1 1)
11.11.2019 4:28:13 -

Dapat dilihat dari log bahwa pengunduhan ke penyimpanan dan cloud dimulai secara bersamaan.
Pencadangan ke brankas selesai setelah 27 menit. Dan itu diunggah ke cloud setelah 1 jam 12 menit dari awal tugas.
Asalkan pada saat yang sama 4 lebih banyak tugas cadangan dari database dilakukan pada waktu yang sama, yang ukurannya 38GB, 28GB, 6GB dan 5GB (mdf).
Semua tugas secara bersamaan dimulai pukul 4:00 dan berhasil diselesaikan sebelum 5:15:00.

Kesimpulan:

Tentu saja, ada kekurangan kecil, kecuali yang sudah dijelaskan dalam artikel:

  • ketidakmampuan untuk mengekspor dan mengimpor pengaturan dan tugas dalam bentuk file teks (yaitu file teks, bukan mdb, dll., sehingga Anda dapat dengan mudah membuka dan mengedit)
  • tidak ada penyimpanan visual pengaturan OAuth, selalu kosong dan tidak jelas apakah itu dikonfigurasi atau tidak.
  • tidak ada cara untuk dengan cepat mengaktifkan / menonaktifkan tugas (Anda harus membuka masing-masing dan pergi ke jadwal). Meskipun jendela utama secara intuitif meminta klik dua kali pada tanda centang.

Tetapi secara keseluruhan, saya sangat senang dengan hasilnya. Saya menemukan program ini sangat berguna.

Tulis tentang algoritma cadangan Anda yang mungkin sangat membantu Anda dan mungkin bermanfaat bagi orang lain.
UPD1: Informasi tambahan tentang biaya perangkat lunak, terima kasih Filex

Source: https://habr.com/ru/post/id474944/


All Articles