Sao lưu
Trong HiTechCloud, việc sao lưu có thể được cấu hình trực tiếp bởi người dùng panel, khác với các panel khác nơi sao lưu do quản trị viên quản lý.
Điều này giúp người dùng tự định nghĩa lịch sao lưu, chọn chính xác những gì cần sao lưu và chọn trong nhiều đích được hỗ trợ. Nhờ đó quản trị viên có ít việc phải quản lý hơn, còn người dùng được kiểm soát và linh hoạt hơn.

Đích sao lưu
HiTechCloud hỗ trợ các đích sau:
- Lưu trữ S3 - AWS S3, Filebase, MinIO, v.v.
- WebDAV - Sao lưu từ xa bằng WebDAV.
- SSH - Sao lưu từ xa qua SSH tới một máy chủ khác.
- Azure - Sao lưu từ xa lên Azure Blob Storage.
- Dropbox - Sao lưu từ xa l ên kho lưu trữ đám mây Dropbox.
Người dùng chọn đích từ trang Backups > Destinations.

Khi đã chọn đích sao lưu, các tuỳ chọn của nó có trên trang Backups > Settings.
SSH/SFTP
| Cài đặt | Mô tả |
|---|---|
| SSH_HOST_NAME | FQDN của máy chủ SSH từ xa, ví dụ: server.local |
| SSH_PORT | Cổng của máy chủ SSH từ xa |
| SSH_REMOTE_PATH | Thư mục đặt các bản sao lưu trên máy chủ SSH. Ví dụ: /home/user/backups |
| SSH_USER | Tên người dùng của máy chủ SSH. Ví dụ: user |
| SSH_PASSWORD | Mật khẩu của máy chủ SSH. Ví dụ: password |
| SSH_IDENTITY_FILE | Đường dẫn khoá riêng bên trong /var/www/html/ cho máy chủ SSH. Khoá không phải RSA (ví dụ ed25519) cũng dùng được. |
| SSH_IDENTITY_PASSPHRASE | Cụm mật khẩu của tệp định danh nếu có. Ví dụ: pass |
S3
| Cài đặt | Mô tả |
|---|---|
| AWS_S3_BUCKET_NAME | Tên bucket từ xa dùng để lưu các bản sao lưu. Nếu không đặt, sẽ không có bản sao lưu từ xa nào được lưu. Ví dụ: backup-bucket |
| AWS_S3_PATH | Nếu bạn muốn lưu bản sao lưu ở một vị trí không phải gốc trong bucket, hãy cung cấp một đường dẫn. Đường dẫn không được bắt đầu bằng dấu gạch chéo. Ví dụ: my/backup/location |
| AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY | Định nghĩa thông tin xác thực để xác thực với kho lưu trữ sao lưu và tên bucket. Dù tất cả các khoá này đều có tiền tố AWS, cách thiết lập này dùng được với mọi kho lưu trữ tương thích S3. |
| AWS_IAM_ROLE_ENDPOINT | Thay vì cung cấp thông tin xác thực tĩnh, bạn cũng có thể dùng IAM instance profile hoặc tương tự để xác thực. Một số tuỳ chọn cấu hình có thể dùng trên AWS: - EC2: http://169.254.169.254 - ECS: http://169.254.170.2 |
| AWS_ENDPOINT | Đây là FQDN của máy chủ lưu trữ của bạn, ví dụ storage.example.com. Nếu cần đặt một giao thức cụ thể (không phải https), bạn cần dùng tuỳ chọn AWS_ENDPOINT_PROTO. Giá trị mặc định trỏ tới endpoint AWS S3 tiêu chuẩn. Ví dụ: s3.amazonaws.com |
| AWS_ENDPOINT_PROTO | Giao thức dùng khi giao tiếp với máy chủ lưu trữ S3 của bạn. Mặc định là "https". Bạn có thể đặt thành "http" khi giao tiếp với một kho lưu trữ s3 tự lưu trữ khác. |
| AWS_ENDPOINT_INSECURE | Đặt biến này thành true sẽ tắt việc xác minh chứng chỉ SSL cho AWS_ENDPOINT. Bạn không nên dùng trừ khi dùng chứng chỉ tự ký cho hệ thống lưu trữ từ xa. Chỉ dùng được khi AWS_ENDPOINT_PROTO được đặt là https. |
| AWS_ENDPOINT_CA_CERT | Nếu bạn muốn dùng chứng chỉ tự ký cho máy chủ S3 của mình, bạn có thể truyền vị trí của một chứng chỉ CA mã hoá PEM và nó sẽ được dùng để xác minh chứng chỉ của bạn. Hoặc truyền một chuỗi mã hoá PEM chứa chứng chỉ. Ví dụ: /var/www/html/cert.pem |
| AWS_STORAGE_CLASS | Đặt giá trị cho khoá này sẽ đổi tiêu đề lớp lưu trữ S3. Hành vi mặc định là dùng lớp chuẩn khi không có giá trị. Ví dụ: GLACIER |
| AWS_PART_SIZE | Đặt biến này sẽ đổi kích thước phần mặc định của S3 cho bước sao chép. Giá trị này hữu ích khi bạn muốn tải lên các tệp lớn. Lưu ý: khi dùng Scaleway làm nhà cung cấp S3, hãy biết rằng bộ đếm số phần được đặt là 1.000. Trong khi Minio dùng giá trị cố định là 10.000. Để khắc phục, hãy thử đặt một giá trị cao hơn. Mặc định là 16 (MB) nếu không đặt (theo minio), bạn có thể đặt giá trị này tuỳ nhu cầu. Đơn vị là MB và là một số nguyên. |
WebDAV
| Cài đặt | Mô tả |
|---|---|
| WEBDAV_URL | URL của máy chủ WebDAV từ xa. Ví dụ: https://webdav.example.com |
| WEBDAV_PATH | Thư mục đặt các bản sao lưu trên máy chủ WebDAV. Nếu đường dẫn chưa có trên máy chủ, nó sẽ được tạo. Ví dụ: /my/directory/ |
| WEBDAV_USERNAME | Tên người dùng của máy chủ WebDAV. Ví dụ: user |
| WEBDAV_PASSWORD | Mật khẩu của máy chủ WebDAV. Ví dụ: password |
| WEBDAV_URL_INSECURE | Đặt biến này thành "true" sẽ tắt việc xác minh chứng chỉ SSL cho WEBDAV_URL. Bạn không nên dùng trừ khi dùng chứng chỉ tự ký cho hệ thống lưu trữ từ xa. |
Azure
| Cài đặt | Mô tả |
|---|---|
| AZURE_STORAGE_ACCOUNT_NAME | Tên tài khoản của thông tin xác thực khi dùng Azure Blob Storage. Bắt buộc phải đặt khi dùng Azure Blob Storage. Ví dụ: account-name |
| AZURE_STORAGE_PRIMARY_ACCOUNT_KEY | Khoá tài khoản chính của thông tin xác thực khi dùng Azure Blob Storage. Nếu không có, lệnh thử dùng chuỗi kết nối (nếu có) hoặc một danh tính được quản lý (nếu cả hai đều không được đặt). |
| AZURE_STORAGE_CONNECTION_STRING | Một chuỗi kết nối để truy cập Azure Blob Storage. Nếu không có, lệnh thử dùng khoá tài khoản chính (nếu có) hoặc một danh tính được quản lý (nếu cả hai đ ều không được đặt). |
| AZURE_STORAGE_CONTAINER_NAME | Tên container khi dùng Azure Blob Storage. Ví dụ: container-name |
| AZURE_STORAGE_ENDPOINT | Endpoint dịch vụ khi dùng Azure Blob Storage. Đây là một mẫu có thể nhận tên tài khoản. Ví dụ: https://{{ .AccountName }}.blob.core.windows.net/ |
| AZURE_STORAGE_ACCESS_TIER | Tầng truy cập khi dùng Azure Blob Storage. Các giá trị có thể được liệt kê ở đây. Ví dụ: Cold |
Dropbox
| Cài đặt | Mô tả |
|---|---|
| DROPBOX_REMOTE_PATH | Đường dẫn tuyệt đối từ xa trong Dropbox của bạn nơi các bản sao lưu được lưu. Lưu ý: hãy dùng đường dẫn con của ứng dụng trong Dropbox nếu nó không có quyền truy cập toàn cục. Ví dụ: /my/directory |
| DROPBOX_APP_KEY DROPBOX_APP_SECRET | Khoá ứng dụng và bí mật ứng dụng từ ứng dụng bạn đã tạo tại https://www.dropbox.com/developers/apps |
| DROPBOX_CONCURRENCY_LEVEL | Số lần tải lên theo khối đồng thời cho Dropbox. Giá trị trên 6 thường không cải thiện thêm. |
| DROPBOX_REFRESH_TOKEN | Refresh token để yêu cầu các token ngắn hạn mới (OAuth2) |
Thiết lập backend lưu trữ Dropbox:
- Tạo một Ứng dụng Dropbox mới trong App Console
- Mở Ứng dụng Dropbox mới của bạn và sao chép
DROPBOX_APP_KEYvàDROPBOX_APP_SECRET - Nhấn
Permissionstrong ứng dụng và bảo đảm các quyền sau đã được cấp (hoặc nhiều hơn):files.metadata.writefiles.metadata.readfiles.content.writefiles.content.read
- Thay APPKEY trong
https://www.dropbox.com/oauth2/authorize?client_id=APPKEY&token_access_type=offline&response_type=codebằng khoá ứng dụng ở bước 2 - Truy cập URL và xác nhận quyền truy cập của ứng dụng. Việc này cho bạn một
auth code-> hãy lưu nó ở đâu đó! - Thay AUTHCODE, APPKEY, APPSECRET tương ứng và thực hiện yêu cầu từ terminal của bạn:
curl https://api.dropbox.com/oauth2/token \-d code=AUTHCODE \-d grant_type=authorization_code \-d client_id=APPKEY \-d client_secret=APPSECRET
- Thực hiện yêu cầu. Bạn sẽ nhận một phản hồi định dạng JSON. Dùng giá trị của
refresh_tokencho thiết lập cuối cùngDROPBOX_REFRESH_TOKEN - Giờ bạn đã đặt
DROPBOX_APP_KEY,DROPBOX_APP_SECRETvàDROPBOX_REFRESH_TOKEN. Chúng không hết hạn.
Lưu ý: Dùng "Generated access token" trong app console không được hỗ trợ, vì nó chỉ tồn tại rất ngắn nên không phù hợp cho một giải pháp sao lưu tự động. Refresh token xử lý việc này tự động - quy trình thiết lập ở trên chỉ cần làm một lần.
Quan trọng: Nếu bạn chọn quyền truy cập App folder khi tạo ứng dụng Dropbox ở bước 1 ở trên, DROPBOX_REMOTE_PATH sẽ là một đường dẫn tương đối nằm dưới App folder! (Ví dụ DROPBOX_REMOTE_PATH=/somedir nghĩa là tệp sao lưu sẽ được tải lên /Apps/myapp/somedir) Ngược lại, nếu bạn chọn quyền truy cập Full Dropbox, giá trị của DROPBOX_REMOTE_PATH sẽ biểu diễn một đường dẫn tuyệt đối trong vùng lưu trữ Dropbox của bạn. (Vẫn với ví dụ trên, tệp sao lưu sẽ được tải lên /somedir trong thư mục gốc Dropbox của bạn)
Phần tham chiếu cài đặt từ đây xuống tới Thông báo, và dòng nhật ký dưới Khắc phục sự cố, được phỏng theo tài liệu của docker-volume-backup của offen, được cấp phép theo Mozilla Public License 2.0. Các định dạng URL thông báo và danh sách trường theo từng dịch vụ (Email, Bark, Discord) được phỏng theo tài liệu Shoutrrr, được cấp phép theo Giấy phép MIT.
Các biến này cấu hình container sao lưu theo từng tài khoản của stack container (Docker). Trên native stack, HiTechCloud tự chạy sao lưu và không đọc chúng: lịch (tần suất và giờ), những gì được bao gồm, bộ máy (tar hoặc restic) và số bản sao hằng ngày, hằng tuần và hằng tháng cần giữ được đặt thành các trường trên Backups > Settings. Các cài đặt đích ở trên vẫn áp dụng.
Mã hoá
Mã hoá sao lưu mặc định bị tắt và phải được Quản trị viên bật trước.
Tất cả các tuỳ chọn mã hoá loại trừ lẫn nhau. Hãy cung cấp một tuỳ chọn duy nhất cho sơ đồ mã hoá bạn chọn.
| Cài đặt | Mô tả |
|---|---|
| GPG_PASSPHRASE | Các bản sao lưu có thể được mã hoá đối xứng bằng gpg nếu có cụm mật khẩu. |
| GPG_PUBLIC_KEY_RING | Các bản sao lưu có thể được mã hoá bất đối xứng bằng gpg nếu có khoá công khai. Bạn có thể dùng cú pháp pipe để truyền một giá trị nhiều dòng. |
| AGE_PASSPHRASE | Các bản sao lưu có thể được mã hoá đối xứng bằng age nếu có cụm mật khẩu. |
| AGE_PUBLIC_KEYS | Các bản sao lưu có thể được mã hoá bất đối xứng bằng age nếu có khoá công khai. Nhiều khoá cần được cung cấp dưới dạng danh sách phân tách bằng dấu phẩy. Hiện tại hỗ trợ khoá age và ssh. |
Xoay vòng
QUAN TRỌNG, HÃY ĐỌC TRƯỚC KHI DÙNG TÍNH NĂNG NÀY:
Cơ chế dùng để dọn các bản sao lưu cũ không quá tinh vi và theo mặc định áp dụng quy tắc của nó cho mọi tệp trong thư mục đích, nghĩa là nếu bạn lưu các bản sao lưu cạnh những tệp khác, những tệp đó cũng có thể bị xoá. Khi dùng tuỳ chọn này, hãy bảo đảm các tệp sao lưu được lưu trong một thư mục chỉ dành riêng cho chúng, hoặc cấu hình BACKUP_PRUNING_PREFIX để giới hạn việc xoá ở một số tệp nhất định.
| Cài đặt | Mô tả |
|---|---|
| BACKUP_RETENTION_DAYS | Truyền số không hoặc một số nguyên dương để bật tự động xoay vòng các bản sao lưu cũ. Giá trị cho biết số ngày giữ một bản sao lưu. Mặc định: -1 |
| BACKUP_PRUNING_LEEWAY | Trong trường hợp thời gian một bản sao lưu chạy dao động đáng kể trong hệ thống của bạn, bạn có thể chỉnh cài đặt này để bảo đảm không có tranh chấp giữa việc sao lưu hoàn tất và việc xoay vòng không xoá các bản sao lưu nằm sát mép cửa sổ thời gian. Hãy đặt giá trị này thành một khoảng thời gian dự kiến lớn hơn chênh lệch tối đa giữa các bản sao lưu. Giá trị hợp lệ có hậu tố (s) giây, (m) phút hoặc (h) giờ. Mặc định dùng một phút. |
| BACKUP_PRUNING_PREFIX | Trong trường hợp bucket hoặc thư mục đích của bạn chứa các tệp khác ngoài những tệp do container này quản lý, bạn có thể giới hạn phạm vi xoay vòng bằng cách đặt một tiền tố. Thường đó là phần không tham số hoá của BACKUP_FILENAME. Ví dụ nếu BACKUP_FILENAME là db-backup-%Y-%m-%dT%H-%M-%S.tar.gz, bạn có thể đặt BACKUP_PRUNING_PREFIX là db-backup- và bảo đảm các tệp không liên quan không bị ảnh hưởng bởi cơ chế xoay vòng. |
Nguồn
Theo mặc định, mọi thứ đều được sao lưu. Trong trường hợp bạn chỉ cần sao lưu một dữ liệu cụ thể, hãy đặt BACKUP_SOURCES. Trên trang Backups > Settings, mục này được hiển thị dưới dạng danh sách thả xuống với các tuỳ chọn sau:
| Cài đặt | Mô tả |
|---|---|
| Everything | Sao lưu nội dung của mọi volume docker: tệp website, cơ sở dữ liệu mysql/mariadb, cơ sở dữ liệu postgre, tệp vhost, cron job. |
| Website Files | Chỉ sao lưu các tệp website trong thư mục /var/www/html/. |
| Emails | Chỉ sao lưu các tệp email trong thư mục /var/mail/. |
| VirtualHosts | Chỉ sao lưu các VirtualHost Apache/Nginx của các tên miền. |
| MySQL Databases | Chỉ sao lưu các cơ sở dữ liệu MySQL/MariaDB. |
| PostgreSQL Databases | Chỉ sao lưu các cơ sở dữ liệu PostgreSQL. |
| Cron Jobs | Chỉ sao lưu tệp crons.ini. |
Lịch
Các bản sao lưu có thể chạy theo lịch cố định được định nghĩa bằng biểu thức cron.
BACKUP_CRON_EXPRESSION được dùng để đặt lịch cho tác vụ sao lưu, một biểu thức cron biểu diễn một tập các thời điểm, dùng 5 hoặc 6 trường phân tách bằng dấu cách.
| Tên trường | Bắt buộc? | Giá trị cho phép | Ký tự đặc biệt cho phép |
|---|---|---|---|
| Giây | Không | 0-59 | * / , - |
| Phút | Có | 0-59 | * / , - |
| Giờ | Có | 0-23 | * / , - |
| Ngày trong tháng | Có | 1-31 | * / , - ? |
| Tháng | Có | 1-12 hoặc JAN-DEC | * / , - |
| Ngày trong tuần | Có | 0-6 hoặc SUN-SAT | * / , - ? |
Giá trị trường Tháng và Ngày trong tuần không phân biệt hoa thường. "SUN", "Sun" và "sun" đều được chấp nhận. Hãy tham khảo các trang như crontab.guru để được trợ giúp.
Nếu không đặt giá trị nào, @daily sẽ được dùng, chạy m ỗi ngày vào nửa đêm.
Nén
| Cài đặt | Mô tả |
|---|---|
BACKUP_COMPRESSION | Thuật toán nén dùng cùng với tar. Các tuỳ chọn hợp lệ: "gz" (Gzip), "zst" (Zstd) hoặc "none" (chỉ tar). Mặc định là "gz". Lưu ý lựa chọn này ảnh hưởng tới phần mở rộng tệp. |
GZIP_PARALLELISM | Mức song song cho nén "gz" (Gzip). Xác định có bao nhiêu khối dữ liệu được xử lý đồng thời. Giá trị cao hơn cho nén nhanh hơn. Không ảnh hưởng tới giải nén. Mặc định = 1. Đặt thành 0 sẽ dùng mọi luồng sẵn có. |
Đặt tên
Các tuỳ chọn ở đây có sẵn nhưng mặc định bị tắt và phải được Quản trị viên bật thủ công trước.
| Cài đặt | Mô tả |
|---|---|
BACKUP_FILENAME | Tên mong muốn của tệp sao lưu gồm cả phần mở rộng. Các ký hiệu định dạng sẽ được thay như trong strftime. Bỏ hết các ký hiệu sẽ cho cùng một tên tệp cho mọi lần chạy sao lưu, nghĩa là các phiên bản trước sẽ bị ghi đè ở các lần chạy sau. Phần mở rộng có thể được định nghĩa nguyên văn hoặc qua mẫu {{ .Extension }}, khi đó nó sẽ trở thành "tar.gz", "tar.zst" hoặc ".tar" (tuỳ cài đặt BACKUP_COMPRESSION của bạn). Mặc định backup-%Y-%m-%dT%H-%M-%S.{{ .Extension }} cho ra các tên tệp như: backup-2021-08-29T04-00-00.tar.gz. |
Loại trừ
BACKUP_EXCLUDE_REGEXP - Khi có giá trị, mọi tệp trong BACKUP_SOURCES có đường dẫn đầy đủ khớp với biểu thức chính quy sẽ bị loại khỏi kho lưu. Có thể dùng biểu thức chính quy như trong thư viện chuẩn của Go. Ví dụ: \.log$.
Thông báo
Thông báo (email, Slack, v.v.) có thể được gửi khi một lần chạy sao lưu kết thúc.
NOTIFICATION_URLS
Cấu hình được cung cấp dưới dạng danh sách URL phân tách bằng dấu phẩy theo cách shoutrrr sử dụng
| Dịch vụ | Định dạng URL |
|---|---|
| Bark | bark://devicekey@host |
| Discord | discord://token@id |
smtp://username:password@host:port/?from=fromAddress&to=recipient1[,recipient2,...] | |
| Gotify | gotify://gotify-host/token |
| Google Chat | googlechat://chat.googleapis.com/v1/spaces/FOO/messages?key=bar&token=baz |
| IFTTT | ifttt://key/?events=event1[,event2,...]&value1=value1&value2=value2&value3=value3 |
| Join | join://shoutrrr:api-key@join/?devices=device1[,device2,...][&icon=icon][&title=title] |
| Mattermost | mattermost://[username@]mattermost-host/token[/channel] |
| Matrix | matrix://username:password@host:port/[?rooms=!roomID1[,roomAlias2]] |
| Ntfy | ntfy://username:password@ntfy.sh/topic |
| OpsGenie | opsgenie://host/token?responders=responder1[,responder2] |
| Pushbullet | pushbullet://api-token[/device/#channel/email] |
| Pushover | pushover://shoutrrr:apiToken@userKey/?devices=device1[,device2,...] |
| Rocketchat | `rocketchat://[username@]rocketchat-host/token[/channel |
| Slack | slack://[botname@]token-a/token-b/token-c |
| Teams | teams://group@tenant/altId/groupOwner?host=organization.webhook.office.com |
| Telegram | telegram://token@telegram?chats=@channel-1[,chat-id-1,...] |
| Zulip Chat | zulip://bot-mail:bot-key@zulip-domain/?stream=name-or-id&topic=name |
Email
Định dạng URL:
smtp://username:password@host:port/?from=fromAddress&to=recipient1[,recipient2,...]
Các trường URL:
-
Username – Tên người dùng máy chủ SMTP
Mặc định: trống
Phần URL:smtp://username:password@host:port/ -
Password – Mật khẩu máy chủ SMTP hoặc giá trị băm (cho OAuth2)
Mặc định: trống
Phần URL:smtp://username:password@host:port/ -
Host – Tên máy hoặc địa chỉ IP của máy chủ SMTP (Bắt buộc)
Phần URL:smtp://username:password@host:port/ -
Port – Cổng máy chủ SMTP
Giá trị thường gặp: 25, 465, 587, 2525
Mặc định:25
Phần URL:smtp://username:password@host:port/
Thuộc tính truy vấn/tham số:
Các thuộc tính có thể được cung cấp qua đối số params hoặc trực tiếp trong URL bằng ?key=value&key=value.
-
FromAddress – Địa chỉ email dùng để gửi thư (Bắt buộc)
Bí danh:from -
ToAddresses – Danh sách email người nhận phân tách bằng dấu phẩy (Bắt buộc)
Bí danh:to -
Auth – Phương thức xác thực SMTP
Mặc định:Unknown
Giá trị có thể:None,Plain,CRAMMD5,Unknown,OAuth2 -
ClientHost – Tên máy gửi tới máy chủ SMTP trong giai đoạn HELO
Mặc định:localhost
Đặt thành"auto"để dùng tên máy của hệ điều hành -
Encryption – Phương thức mã hoá
Mặc định:Auto
Giá trị có thể:None,ExplicitTLS,ImplicitTLS,Auto -
FromName – Tên người gửi
Mặc định: trống -
Subject – Dòng tiêu đề của email
Mặc định:Shoutrrr Notification
Bí danh:title -
UseHTML – Thư có ở định dạng HTML hay không
Mặc định: ❌ Không -
UseStartTLS – Có dùng mã hoá StartTLS hay không
Mặc định: ✔ Có
Bí danh:starttls
Bark
Các trường URL:
-
DeviceKey – Khoá của từng thiết bị (Bắt buộc)
Phần URL:bark://:devicekey@host/path -
Host – Tên máy và cổng của máy chủ (Bắt buộc)
Phần URL:bark://:devicekey@host/path -
Path – Đường dẫn máy chủ
Mặc định:/
Phần URL:bark://:devicekey@host/path
Thuộc tính truy vấn/tham số:
Các thuộc tính có thể được cung cấp qua đối số params, hoặc qua URL bằng ?key=value&key=value v.v.
-
Badge – Số hiển thị cạnh biểu tượng ứng dụng
Mặc định:0 -
Category – Trường dành riêng, chưa dùng
Mặc định: trống -
Copy – Giá trị cần sao chép
Mặc định: trống -
Group – Nhóm của thông báo
Mặc định: trống -
Icon – URL của biểu tượng, chỉ có trên iOS 15 trở lên
Mặc định: trống -
Scheme – Giao thức máy chủ,
httphoặchttps
Mặc định:https -
Sound – Giá trị từ Bark Sounds
Mặc định: trống -
Title – Tiêu đề thông báo, người gửi có thể đặt tuỳ chọn
Mặc định: trống -
URL – URL sẽ mở khi nhấn vào thông báo
Mặc định: trống
Discord
Định dạng URL:
discord://token@webhookid
Các trường URL:
-
Token – (Bắt buộc)
Phần URL:discord://token@webhookid/ -
WebhookID – (Bắt buộc)
Phần URL:discord://token@webhookid/
Thuộc tính truy vấn/tham số:
Các thuộc tính có thể được cung cấp qua đối số params, hoặc qua URL bằng ?key=value&key=value v.v.
-
Avatar – Ghi đè ảnh đại diện mặc định của webhook bằng URL đã chỉ định
Mặc định: trống
Bí danh:avatarurl -
Color – Màu của viền trái cho tin nhắn thường
Mặc định:0x50D9ff -
ColorDebug – Màu của viền trái cho tin nhắn gỡ lỗi
Mặc định:0x7b00ab -
ColorError – Màu của viền trái cho tin nhắn lỗi
Mặc định:0xd60510 -
ColorInfo – Màu của viền trái cho tin nhắn thông tin
Mặc định:0x2488ff -
ColorWarn – Màu của viền trái cho tin nhắn cảnh báo
Mặc định:0xffc441 -
JSON – Có gửi toàn bộ tin nhắn dưới dạng payload JSON thay vì dùng làm trường
contenthay không
Mặc định: ❌ Không -
SplitLines – Có gửi mỗi dòng thành một mục nhúng riêng hay không
Mặc định: ✔ Có -
Title
Mặc định: trống -
Username – Ghi đè tên người dùng mặc định của webhook
Mặc định: trống
Tạo một Webhook trong Discord:
- Mở cài đặt kênh của bạn bằng cách nhấn biểu tượng bánh răng cạnh tên kênh.

- Ở menu bên trái, nhấn Integrations.

- Ở bên phải, nhấn Create Webhook.

- Đặt tên, kênh và biểu tượng theo ý bạn, rồi nhấn Copy Webhook URL.

- Nhấn Save Changes.
6 Định dạng URL dịch vụ:
https://discord.com/api/webhooks/693853386302554172/W3dE2OZz4C13_4z_uHfDOoC7BqTW288s-z1ykqI0iJnY_HjRqMGO8Sc7YDqvf_KVKjhJ└────────────────┘ └──────────────────────────────────────────────────────────────────┘webhook id tokendiscord://W3dE2OZz4C13_4z_uHfDOoC7BqTW288s-z1ykqI0iJnY_HjRqMGO8Sc7YDqvf_KVKjhJ@693853386302554172└──────────────────────────────────────────────────────────────────┘ └────────────────┘token webhook id
NOTIFICATION_LEVEL
Theo mặc định, thông báo chỉ được gửi khi một lần chạy sao lưu thất bại. Để nhận thông báo cho mọi lần chạy, hãy đặt NOTIFICATION_LEVEL thành info thay vì giá trị mặc định error.
Kích hoạt một bản sao lưu
Các bước dưới đây cần container Backup theo từng tài khoản, chỉ có trên stack container (Docker). Trên native stack không có container như vậy: các bản sao lưu chạy theo lịch đặt trên Backups > Settings.
Bạn có thể kích hoạt một bản sao lưu thủ công bất cứ lúc nào, bất kể cài đặt lịch. Để làm vậy, hãy bảo đảm tính năng Docker đã được bật. Sau đó:
- Vào Containers > Terminal.
- Chọn container Backup.
- Trong terminal, gõ lệnh sau và nhấn Enter:
backup
Khôi phục & Tải xuống
Trang Restore & Download (/backups/list) cho phép bạn duyệt các tệp sao lưu đã có trên đích đã cấu hình, khôi phục chúng về tài khoản của bạn, hoặc tải chúng về máy tính. Hiện chỉ hoạt động với đích SSH/SFTP.
-
Nhấn Reindex Destination để kết nối tới đích từ xa và liệt kê các kho sao lưu có sẵn. Việc lập chỉ mục lại chạy ở chế độ nền và trang tự cập nhật khi hoàn tất.
-
Mỗi bản sao lưu đã lập chỉ mục hiển thị tên tệp, nội dung phát hiện được (
html,vhosts,mail,mysql,postgres,crons) và các cơ sở dữ liệu tìm thấy bên trong. -
Nhấn Restore trên một bản sao lưu để mở hộp thoại khôi phục, rồi chọn những gì cần khôi phục:
- Everything – khôi phục tệp và mọi cơ sở dữ liệu từ kho lưu.
- Specific database only – khôi phục một cơ sở dữ liệu được chọn từ kho lưu (chỉ hiện khi kho lưu có cơ sở dữ liệu).
- Files only (no databases) – khôi phục tệp website, vhost, thư và cron job mà không đụng tới cơ sở dữ liệu nào.
Khôi phục sẽ ghi đè dữ liệu hiện có và không thể hoàn tác.
-
Nhấn Download trên một bản sao lưu để lấy kho lưu từ đích và tải về trình duyệt của bạn.
Khắc phục sự cố
Văn bản lỗi dưới đây là đầu ra nhật ký của chính container sao lưu (xem phần ghi nguồn ở trên), nên chỉ xuất hiện trên stack container.
Lỗi *error copying archive: ssh.(sshStorage).Copy: error creating file: file does not exist cho biết thư mục đã cấu hình không tồn tại trên đích:
time=2025-07-22T11:21:05.117Z level=ERROR msg="Fatal error running command: file does not exist" error="main.(*command).runAsCommand: error running script: main.runScript.func4: error running script: main.(*script).copyArchive: error copying archive: ssh.(*sshStorage).Copy: error creating file: file does not exist"