Halaman ini menjelaskan cara menambahkan skrip ke template pencadangan. Skrip ini menjelaskan berbagai fase yang dijalankan skrip selama tugas pencadangan.
Anda dapat menulis skrip dan menjalankannya untuk melakukan tindakan di awal tugas pencadangan, selama tugas tersebut, atau setelah selesai. Ini juga disebut skrip pra dan pasca.
Lokasi skrip
Folder skrip dibuat secara otomatis selama penginstalan agen tempat sistem file atau database yang memerlukan perlindungan berjalan. Anda harus menempatkan skrip di folder berikut untuk menjalankannya:
- Untuk host Windows:
\Program Files\Google Cloud Backup and DR\scripts - Untuk host Linux:
/act/scriptsdan tetapkan skrip ke dapat dieksekusi (chmod 755 *.sh)
Fase skrip
Skrip dijalankan dalam fase berikut. Jika skrip Anda tidak dijalankan, periksa apakah skrip tersebut ada di folder skrip.
- INIT: Fase ini dimulai saat peralatan pencadangan/pemulihan terhubung ke agen. Pada fase ini, tugas diinisialisasi dan kredensial diverifikasi.
- PRE: Fase ini dimulai tepat sebelum operasi utama tugas. Untuk snapshot, fase ini dimulai sebelum aplikasi dibekukan. Untuk tugas jenis pemasangan, hal ini dilakukan setelah perangkat dipetakan ke host, tetapi sebelum operasi berbasis agen seperti pemindaian ulang, impor, dan pemasangan sistem file dimulai.
- POST: Fase ini dimulai segera setelah operasi utama tugas selesai. Untuk tugas jenis pencadangan, ini adalah setelah aplikasi dicairkan. Untuk tugas jenis pemasangan, fase ini dimulai setelah semua operasi impor, pemasangan, atau membawa aplikasi ke mode online selesai.
- FINAL: Fase ini adalah akhir dari tugas. Kecuali jika skrip menampilkan kode bukan nol yang menyebabkan tugas gagal, tugas akan selesai.
- ABORT: Fase ini menangani tugas yang dibatalkan saat gagal.
Contoh: Contoh: skrip
Contoh berikut menunjukkan cara menjalankan skrip sisi host pada berbagai fase proses tugas pencadangan. Skrip ini memiliki lima skrip yang menghasilkan tanggal atau waktu, nama aplikasi (nama sistem file atau database), jenis pekerjaan, nama tugas, nilai retensi log dalam hari, dan teks untuk menunjukkan fase tugas pencadangan yang sedang diproses.
```sh
$ cat /act/scripts/init.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
fi
$ cat /act/scripts/pre.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
fi
$ cat /act/scripts/post.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:POST" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:POST" >> /tmp/backup_status.log
fi
$ cat /act/scripts/fini.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
fi
$ cat /act/scripts/abort.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
fi
```
Pada contoh sebelumnya, ACT_JOBTYPE = logbackup menunjukkan tugas yang dijalankan
adalah tugas pencadangan log, bukan tugas pencadangan database lengkap.
Anda mungkin tidak perlu menjalankan kelima fase untuk mencapai output log yang Anda pilih. Anda hanya dapat menggunakan fase init dan final untuk menunjukkan awal dan akhir proses pencadangan.
Anda juga dapat menyesuaikan skrip untuk melakukan tugas lain, seperti menghentikan layanan atau menjalankan perintah lain.
Menambahkan skrip ke template pencadangan
Gunakan petunjuk berikut untuk menambahkan skrip ke template pencadangan.
- Klik Backup plans dan pilih Templates dari menu drop-down.
- Pilih template yang menyertakan kebijakan OnVault. Halaman Templates akan terbuka dengan template pencadangan yang dipilih.
- Di area Policies pada halaman Templates, klik +Add di samping Snapshot.
- Klik Advanced Policy Settings.
Scroll ke Script Name, lalu salin dan tempel skrip berikut:
path=init.sh:phase=init;path=pre.sh:phase=pre;path=post.sh:phase=post;path=fini.sh:phase=final:timeout=300;path=abort.sh:phase=abortKlik Simpan Perubahan.
-
Output ditampilkan untuk dua database yang berbeda. Satu adalah tugas pencadangan log, dan satu lagi adalah snapshot inkremental.
$ cat /tmp/backup_status.log Wed Nov 22 06:11:49 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:INIT Wed Nov 22 06:13:52 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:PRE Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:POST Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:FINAL Wed Nov 22 06:18:00 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:INIT Wed Nov 22 06:20:15 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:PRE Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:POST Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:FINAL
Meneruskan variabel lingkungan ke dalam file log
Anda dapat mengekspor informasi lingkungan dari tugas ke skrip menggunakan
variabel lingkungan dalam daftar berikut yang diawali dengan ACT_.
Tidak semua variabel lingkungan akan berlaku untuk setiap jenis pekerjaan.
ACT_APPID: ID database aplikasi.ACT_APPNAME: nama aplikasi.ACT_HOSTNAME: nama host yang menjadi target tugas ini.ACT_JOBNAME: nama tugas.ACT_JOBTYPE: versi teks dari class lowongan.ACT_LOGSMART_TYPE: satu-satunya nilai yang valid adalah "db". Parameter ini harus ada agar log database dapat dicatat.ACT_OPTIONS: opsi kebijakan yang berlaku untuk tugas iniACT_PHASE: string teks yang menjelaskan fase tugas.ACT_POLICY: nama kebijakan yang terkait dengan tugas ini.ACT_POLICYOPT_logbackupretention: jumlah hari retensi untuk tugas pencadangan log. Hal ini hanya muncul dalam tugas pencadangan log database.ACT_PROFILE: nama profil.ACT_SCRIPT_TMOUT: waktu tunggu superskrip. Jika respons tidak diterima dalam nilai waktu tunggu (default 60 detik), skrip akan gagal.ACT_SOURCEHOST: nama host yang menjadi sumber untuk aplikasi ini.ACT_TEMPLATE: nama template yang terkait dengan tugas.ACT_TIMEOUT: durasi skrip yang ditentukan, dalam detik. Jika skrip tidak selesai dalam periode waktu tunggu, tugas akan gagal.ACT_VOLUMES: untuk aplikasi generik, daftar volume yang dikonfigurasi untuk pencadangan. Jika Anda memerlukan bantuan untuk mempelajari kemungkinan variabel lingkungan yang dapat digunakan, tambahkan baris ini ke skrip Anda.echo printenv >> /tmp/backup_status.log