Cara Backup Melalui CLI di DirectAdmin
Jika kamu mengalami kondisi darurat seperti lisensi DirectAdmin yang sudah kadaluarsa atau server hampir tidak bisa diakses melalui antarmuka grafis (UI), jangan panik dulu. DirectAdmin menyediakan cara untuk melakukan backup langsung melalui Command Line Interface (CLI). Artikel ini akan membahas cara melakukan backup dan restore menggunakan CLI di DirectAdmin.
🔧 Kapan Menggunakan CLI?
- Server tidak bisa diakses melalui panel DirectAdmin
- Proses backup otomatis gagal, dan kamu ingin menjalankan backup manual
- Kamu butuh backup cepat dari akun tertentu saja
- Kamu sedang mengatur sistem backup harian berbasis script/cron
📦 Backup Semua Akun via CLI
Untuk melakukan backup semua akun di server DirectAdmin, gunakan perintah berikut:
/usr/local/directadmin/directadmin admin-backup --destination=/home/admin/admin_backups
Perintah ini akan membuat backup dan menyimpannya di folder /home/admin/admin_backups. Pastikan folder tersebut tersedia dan memiliki ruang penyimpanan yang cukup.
🎯 Backup Akun Tertentu Saja
Kalau kamu hanya ingin membackup akun tertentu (misalnya: user1 dan user2), gunakan perintah seperti berikut:
/usr/local/directadmin/directadmin admin-backup --destination=/home/admin/admin_backups --user=user1 --user=user2
🔄 Restore Akun dari Backup via CLI
Untuk merestore backup akun secara manual dari file .tar.gz, kamu bisa menambahkan task ke task.queue DirectAdmin dengan perintah seperti ini:
echo "action=restore&ip_choice=file&local_path=/home/admin/admin_backups&owner=admin&select0=user.admin.testuser.tar.gz&type=admin&value=multiple&when=now&where=local" >> /usr/local/directadmin/data/task.queue
Catatan:
- Gantilah
testuserdengan username yang ingin kamu restore. - Jika nama file mengandung titik (.), ubah titik menjadi
%2E. Misalnya:user.admin.testuser.tar.gzmenjadiuser%2Eadmin%2Etestuser%2Etar%2Egz
Jika kamu ingin restore ke IP tertentu, ganti ip_choice=file dengan ip_choice=select&ip=1.2.3.4
🕒 Contoh Script Cron untuk Restore Otomatis
Jika kamu ingin mengotomatiskan proses restore (misalnya untuk server mirror atau sistem recovery), berikut adalah contoh script shell yang bisa kamu jalankan via cron sebagai root:
#!/bin/sh
# Siapa pemilik backup
OWNER=admin
LOCAL_PATH=/home/${OWNER}/admin_backups
# Gunakan IP spesifik untuk restore
IP_CHOICE=select
IP=1.2.3.4
echo -n "action=restore&local_path=${LOCAL_PATH}&owner=${OWNER}&when=now&where=local&type=admin";
if [ "${IP_CHOICE}" = "select" ]; then
echo -n "&ip_choice=select&ip=${IP}";
else
echo -n "&ip_choice=${IP_CHOICE}";
fi
cd ${LOCAL_PATH}
COUNT=0
for i in `/bin/ls *.gz`; do
{
echo -n "&select${COUNT}=$i";
COUNT=$(( $COUNT + 1 ))
};
done;
echo "";
if [ "${COUNT}" -eq 0 ]; then
exit 1;
fi
exit 0;
Script ini akan mencetak perintah restore untuk semua file backup yang ditemukan di folder. Output-nya bisa diarahkan langsung ke task.queue dengan:
/root/restore_all.sh >> /usr/local/directadmin/data/task.queue
🚨 Tips Tambahan
- Selalu uji script di server staging sebelum diterapkan di server produksi.
- Pastikan hak akses dan kepemilikan folder
/home/admin/admin_backupsbenar agar proses tidak gagal. - Gunakan
screenatautmuxjika kamu menjalankan backup dari sesi SSH agar tidak terputus.
🔚 Penutup
Backup via CLI di DirectAdmin adalah solusi efektif saat UI tidak dapat digunakan atau ketika kamu ingin mengotomatisasi proses. Dengan memahami cara kerja perintah CLI ini, kamu bisa lebih sigap dalam menghadapi berbagai kondisi darurat server.
Semoga artikel ini bermanfaat. Jika kamu punya pertanyaan atau pengalaman menarik seputar backup DirectAdmin, silakan bagikan di kolom komentar!
