Tôi đang thiết lập một Cronjob sẽ sao lưu cơ sở dữ liệu MySQL mà tôi có trong máy chủ của mình, nhưng tôi không muốn nó tiếp tục ghi đè lên cùng một tệp nhiều lần. Thay vào đó, tôi muốn có một loạt các bản sao lưu để lựa chọn, được thực hiện tự động. Ví dụ:
## Cronjob, run May 21st, 2011:
mysqldump -u username -ppasword database > /path/to/file/21-03-2011.sql
## SAME Conjob, run May 28th, 2011:
mysqldump -u username -ppasword database > /path/to/file/28-03-2011.sql
Và như vậy.
Có cách nào để tôi có thể sử dụng ngày và / hoặc thời gian của hệ thống như một loại biến trong Cronjob của mình không? Nếu không, đề xuất của bạn để thực hiện cùng là gì?
date
bên trong một cronfile: một số crons (tất cả?) Coi%
như là kết thúc của lệnh. (vì vậy$()
không phải là vấn đề). Bạn phải thoát tất cả các dấu hiệu phần trăm:... touch "/tmp/$(date +\%Y-\%m-\%d)"
(đẹp hơn để sử dụng định dạng ngày sắp xếp theo từ vựng)