
Script thêm toàn bộ website backup sang Google drive trên CyberPanel
Sơ đồ trang
Sau nhiều năm phát triển nhưng CyberPanel vẫn không thêm tính năng 1 click để thêm toàn bộ website vào phần backup sang Google drive mà người dùng phải thêm thủ công từng website để backup trong bảng điều khiển CyberPanel, nếu bạn có vài website thì sẽ không bị trầm cảm bởi việc này nhưng nếu bạn có vài chục đến vài trăm thậm chí vài ngàn thì thêm vào backup thế nào được, tất nhiên còn nhiều giải pháp backup khác nhưng đang nói ở mục backup trong bảng điều khiển CyberPanel thì ối zồi ôi.
Script thêm toàn bộ website backup sang Google drive trên CyberPanel
Để giải quyết vấn đề này mình có viết 1 đoạn script để bạn có thể thêm toàn bộ website đang có vào phần backup CyberPanel, để thực hiện việc này bạn có thể làm theo các bước dưới đây.
Script áp dụng trên trình duyệt Firefox
Bước 1. Đăng nhập vào CyberPanel bằng trình duyệt Firefox , nếu bạn sử dụng Chrome thì sử dụng script ở cuối bài
Bước 2. Truy vập vào Backup -> Setup Google Drive (tại bước này bạn phải kết nối VPS với Google drive trước nhé)
Bước 3. Sau khi kết nối xong, bạn có thể chọn Select Drive Account
Bước 4. Nhấn F12 và chuyển sang tab Bảng điều khiển (Console)
Bước 5. Dán script mình để phía dưới vào và enter để thêm toàn bộ website vào phần backup sang Google drive
Bước 6. Ngồi rung đùi chờ script chạy tí là xong
Bước 7. Donate nếu bài viết hữu ích 😀 hoặc yêu cầu các bài viết khác tại đây
// Function để đợi một khoảng thời gian function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } // Function chính để thêm tất cả website async function addAllWebsites() { // Lấy danh sách tất cả các option trong select const select = document.querySelector('select[ng-model="selectedWebsite"]'); const options = Array.from(select.options); // Lặp qua từng website for (let option of options) { const websiteName = option.value; // Chọn website trong dropdown select.value = websiteName; // Trigger change event để Angular cập nhật model select.dispatchEvent(new Event('change')); // Đợi một chút để Angular cập nhật await sleep(500); // Click nút Add Site const addButton = document.querySelector('button[ng-click="addSite()"]'); addButton.click(); // Đợi thêm thời gian để request hoàn thành await sleep(2000); console.log(`Đã thêm website: ${websiteName}`); } console.log('Hoàn thành thêm tất cả website!'); } // Chạy script addAllWebsites().catch(console.error);
Script áp dụng trên trình duyệt Chrome
Nếu bạn dùng trình duyệt Chrome thì phải nhập vào đoạn allow pasting thì mới dán script được, đây là tính năng bảo mật của Chrome
Bài viết liên quan
1. Gõ allow pasting
vào console và nhấn Enter
2. Copy và paste toàn bộ code dưới vào console và nhấn Enter
3. Sau đó gõ addAllWebsites()
và nhấn Enter để bắt đầu quá trình tự động
// Kiểm tra xem đã load Angular chưa if (typeof angular === 'undefined') { console.error('Không tìm thấy Angular. Vui lòng đảm bảo bạn đang ở đúng trang CyberPanel'); return; } // Function để đợi element xuất hiện trên trang function waitForElement(selector, timeout = 5000) { return new Promise((resolve, reject) => { const element = document.querySelector(selector); if (element) { resolve(element); return; } const observer = new MutationObserver(() => { const element = document.querySelector(selector); if (element) { resolve(element); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); setTimeout(() => { observer.disconnect(); reject(new Error(`Timeout waiting for ${selector}`)); }, timeout); }); } // Function chính để thêm website async function addWebsite(websiteName) { try { // Chọn website const select = document.querySelector('select[ng-model="selectedWebsite"]'); if (!select) { throw new Error('Không tìm thấy dropdown chọn website'); } select.value = websiteName; select.dispatchEvent(new Event('change', { bubbles: true })); // Đợi và click nút Add Site await new Promise(resolve => setTimeout(resolve, 500)); const addButton = document.querySelector('button[ng-click="addSite()"]'); if (!addButton) { throw new Error('Không tìm thấy nút Add Site'); } addButton.click(); console.log(`✅ Đã thêm website: ${websiteName}`); return true; } catch (error) { console.error(`❌ Lỗi khi thêm ${websiteName}:`, error); return false; } } // Function để thêm tất cả website async function addAllWebsites() { try { console.log('🚀 Bắt đầu thêm website...'); const select = document.querySelector('select[ng-model="selectedWebsite"]'); if (!select) { throw new Error('Không tìm thấy dropdown chọn website'); } const websites = Array.from(select.options).map(option => option.value); console.log(`📋 Tổng số website cần thêm: ${websites.length}`); let success = 0; for (const website of websites) { const result = await addWebsite(website); if (result) success++; await new Promise(resolve => setTimeout(resolve, 2000)); } console.log(` 🎉 Hoàn thành! ✅ Thành công: ${success} ❌ Thất bại: ${websites.length - success} `); } catch (error) { console.error('❌ Lỗi:', error); } } // Khởi chạy script console.log('Script đã sẵn sàng!'); console.log('Gõ addAllWebsites() và nhấn Enter để bắt đầu');
Hy vọng bài viết Script thêm toàn bộ website backup sang Google drive trên CyberPanel sẽ giúp ích được cho nhiều người. Xin cảm ơn.