Bài viết này mình sẽ hướng dẫn bạn có thể Backup Full Data bằng Command trong quá trình sử dụng nếu bạn không muốn thao tác qua giao diện hoặc lí do nào đó.
Bước 1 : Thực hiện lệnh
echo “action=backup&append%5Fto%5Fpath=nothing&database%5Fdata%5Faware=yes&e mail%5Fdata%5Faware=yes&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackup s&owner=admin&type=admin&value=multiple&when=now&where=local&who=all” >> /usr/local/directadmin/data/task.queue
Thao tác này bạn sẽ đưa công việc backup của bạn vào hàng đợi để Backup.
Bước 2 : Thực hiện lệnh lần nữa
/usr/local/directadmin/dataskq d200
Lệnh này sẽ tạo tạo ta toàn bộ backup cho tất cả user được lưu vào thư mục /home/admin/admin_backup
Trường hợp mà bạn muốn thao tác Backup cho 1 user mà bạn muốn chỉ định có thể làm như sau :
echo “action=backup&append%5Fto%5Fpath=nothing&database%5Fdata%5Faware=yes&email%5Fdata%5Faware=yes&l ocal%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=myuser&type=admin&value=multi ple&when=now&where=local” >> /usr/local/directadmin/data/task.queue
Với “myuser” bạn có thể thay đổi thành tài khoản cần thực hiện Backup.
Trường hợp bạn muốn khôi phục dữ liệu với các bản sao lưu đã tạo :
thực hiện lệnh sau
echo "action=restore&ip%5Fchoice=file&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=user%2Eadmin%2Etestuser%2Etar%2Egz&type=admin&value=multiple&when=now&where=local" >> /usr/local/directadmin/data/task.queue
Với mã trên thì user%2Eadmin%2Etestuser%2Etar%2Egz là tên của File mà bạn cần Restore
dưới đây là một tập lệnh cron mẫu cho bạn, hãy chạy dưới quyền root, chạy hàng ngày với cách thức sao lưu / khôi phục, có thể theo tùy chọn của bạn là:
#!/bin/sh #Who is doing the restore? OWNER=admin LOCAL_PATH=/home/${OWNER}/admin_backups #choice can be 'file' to get it from the backup #or 'select' which will use the ip set. 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;
Để chạy được task này bạn sẽ cần tới Cron của mình được cấu hình theo nhu cầu của bạn.
/root/restore_all.sh >> /usr/local/directadmin/data/task.queue