LKS 2020 ITNSA Linux Part 3.1 — Security And Maintenance — ITNSA Backup Server
Halo teman-teman, selamat datang kembali di artikel saya! Pada artikel kali ini, saya akan membahas kembali tentang penyelesaian soal LKS ITNSA Modul Linux tahun 2020. Lebih tepatnya, saya akan membahas tentang Task ITNSA Backup Server. Simak sampai selesai ya!
Pada pembahasan kali ini, host yang akan di gunakan adalah se02.itnsa.id (backup server), file.nusantara.id (ldap server), dan private.nusantara.id (web server).
Pertama-tama silahkan membuka host se02.nusantara.id. Kita akan membuat direktori yang nantinya digunakan untuk menyimpan file backup dari host lain.
sudo mkdir /backup/www/ -p
sudo mkdir /backup/ldap/
Selanjutnya silahkan membuka host private.nusantara.id. Disini kita akan membuat service ssh agar nantinya tidak memerlukan password ketika host private.nusantara.id melakukan ssh atau remote ke user kertarajasa pada host se02.nusantara.id.
sudo ssh-keygen
sudo ssh-copy-id kertarajasa@172.45.80.4
Apabila sudah, selanjutnya kita akan membuat sebuah bash script agar file dalam /var/www/ dari host private.nusantara.id dapat di backup dalam rentang waktu kurang dari 10 detik (disini aku membuat backup setiap 5 detik).
cd ~/
sudo nano web-backup.sh
Kemudian jangan lupa untuk menambahkan execute permission pada file tersebut.
sudo chmod +x web-backup.sh
Selanjutnya adalah akan membuat script bash tersebut selalu dijalankan pada saat host menyala melalui crontab (autostart script).
sudo crontab -e
Apabila sudah, selanjutnya silahkan membuka host file.nusantara.id untuk membackup database dari ldap.
Seperti pada host private.nusantara.id sebelumnya, silahkan mengkonfigurasi ssh agar nantinya tidak memerlukan password ketika meremote user kertarajasa dari host se02.nusantara.id.
sudo sssh-keygen
sudo ssh-copy-id kertarajasa@172.45.80.4
Selanjutnya silahkan mengkonfigurasi file crontab agar command yang dibutuhkan dapat di eksekusi setiap jam ganjil.
sudo crontab -e
* 1–23/2 * * * slapcat -v -l <file.ldif> berarti setiap 2 jam dari jam 1 sampai dengan jam ke 23 ( sama saja dengan 1,3,5,7,dst ) command slapcat -v ( verbose atau lengkap ) -l ( memasukkan output slapcat kedalam file ) <file.ldif> ( nama file ) akan dijalankan.
* 1–23/2 * * * rsync -ar <asal> <tujuan> berarti setiap 2 jam dari jam 1 sampai dengan jam ke 23 ( sama saja dengan 1,3,5,7,dst ) command rsync -a ( file di archive atau di kompress ) -r ( recursive atau direktori beserta isinya ) <asal> <tujuan> akan dijalankan.
Kemudian install rsync dan buatlah direktori yang akan digunakan agar file cron tersebut dapat berjalan dengan lancar.
sudo apt install rsync -y
sudo mkdir /etc/ldap/backup/
Mengapa saya menggunakan rsync dan tidak menggunakan scp seperti pada host sebelumnya? Hal ini saya lakukan untuk mencegah terjadinya proses yang tidak berjalan lancar.
Tidak berjalan lancar yang saya maksud adalah, ketika file backup pertama kali dibuat, scp tidak dapat langsung mengirim file tersebut ke backup server, akan tetapi scp menunggu proses backup kedua barulah file dapat dikirimkan.
Saya tidak tahu apakah ini merupakan kesalahan pada scp atau hanya masalah internal pada host di komputer saya. Apabila di host teman-teman command scp pada cron dapat mengirim file backup saat pertama kali dibuat, maka silahkan menggunakan scp, karena task kali ini memang tidak mengharuskan menggunakan command atau service tertentu untuk membackup file pada server.
Untuk tambahan, ketika crontab tidak dapat mengeksekusi command yang membutuhkan akses root, silahkan menambahkan PATH seperti gambar dibawah ini.
Demikianlah pembahasan saya mengenai Soal LKS ITNSA Tahun 2020 pada task ITNSA Backup Server. Semoga artikel ini bermanfaat. Apabila teman teman menemukan kesalahan pada artikel kali ini, silahkan menghubungi saya di Facebook , Instagram, atau Telegram agar saya dapat segera memperbaikinya.
REFERENSI
Terimakasih banyak kepada bang Iqbal Fakhri karena telah menjawab pertanyaan saya mengenai task backup server sehingga artikel ini dapat terselesaikan.