Tạo một kho lưu trữ mới một lần mỗi phút bằng cách sử dụng crontab


9

Tôi đang cố gắng tạo một tệp crontabmới .tarmỗi phút mỗi ngày làm việc bằng cách sử dụng mã sau:

*/1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P

Điều này không hoạt động. Tại sao?


Tôi không thể ngừng đọc tiêu đề là "Tạo mỗi phút lưu trữ bằng crontab" (phút như nhỏ) vì bài viết bị thiếu (không phải lỗi của OP), vì vậy tôi đang sửa nó.
con mèo

3
Tại sao bạn sẽ sử dụng */1? Nó không giống như chỉ *?
ness101

Câu trả lời:


15

croncoi %như dòng mới. Bạn cần sử dụng thoát nó tức là sử dụng \%để có được nghĩa đen %như được sử dụng trong date.

Vì vậy bạn cần:

date +"\%Y\%m\%d\%H\%M" 

Hoặc bạn có thể sử dụng tập lệnh và sử dụng tất cả các lệnh trong tập lệnh và gọi tập lệnh từ đó crontab.

Từ man 5 crontab:

Phần trăm dấu (%) trong lệnh, trừ khi thoát bằng dấu gạch chéo ngược (\), sẽ được thay đổi thành ký tự dòng mới và tất cả dữ liệu sau% đầu tiên sẽ được gửi đến lệnh dưới dạng đầu vào tiêu chuẩn. Không có cách nào để phân chia một dòng lệnh thành nhiều dòng, như dấu "\" của shell.


4

Sử dụng \%thay vì %- cron sử dụng %như một dòng mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.