@vincvn
Senior Member
Nhìn cái chuỗi cmd của fence hoa mắt quá. Thay vì gom vầy fence nên đưa nó vào file bash script theo cách đơn giản như sau:Fen cho mình hỏi mình chạy lệnh bên ngoài ok rồi mà cho vào crontab lại không tự chạy fen nhỉ. Lệnh của mình trong crontab như này ạ.
Code:*/10 * * * * sqlite3 /opt/data/vaultwarden/vw-data/db.sqlite3 ".backup '/opt/data/vaultwarden/vw-data/db.bak'" && tar -czvf /home/hoangt/backup/Vaultwarden_data-$(date '+\%Y\%m\%d-\%H\%M').tar.gz /opt/data/vaultwarden/vw-data/ && rclone copy --ignore-existing /home/hoangt/backup upload_google_drive:/backup_folder && rm -r /home/hoangt/backup/*
Code:
#!/bin/bash
dong lenh t1
dong lenh t2
chmod +x <đường dẫn đến file bash trên>
sau đó trong crontab chỉ việc trỏ đến đường dẫn file bash ở trên là nó chạy mà lại dễ nhìn dễ sửa.Nên đưa đầy đủ đường dẫn cho các file thực thi để tránh việc cron k thấy
PATH
. Tìm đường dẫn đầy đủ bằng cách which <ten file thuc thi>
. Vd: which sqlite3
Fence có thể sài lệnh
sync
và bỏ qua argv --ignore-existing
thay vào đó thêm -vv
để rclone trích debug vào log (Cái này theo dõi thấy chạy ổn định thì bỏ đi cũng được).Rclone nên dùng
sync
cho backup vì sẽ tự động chép tập tin thay đổi mới nhất dựa trên size, modtime, hash
(tùy thuộc vào sự hỗ trợ của các cloud storage) và cấu trúc thư mục nguồn.Trong cron nên thêm vào sau chuỗi cmd đoạn
>/home/mieugia/logs/backup-vaultwarden.log 2>&1
thay đổi /home/[B]mieugia[/B]/logs/backup-vaultwarden.log
thành đường dẫn file log muốn ghi vào để trích log ra theo dõi.Nhớ tạo thư mục
/home/[B]mieugia[/B]/logs/
nếu chưa có và mieugia
thay đổi theo user của mình (chạy với root thì cho nó vào /var/log
cũng được)