2012-02-02 18 views
25

Tôi đã tạo một tác vụ Cron tại webhost để sao lưu hàng ngày cơ sở dữ liệu của mình và tôi muốn nó thêm ngày hiện tại vào tên tệp.Tác vụ Cron: Nối ngày hiện tại vào tên tệp qua Cron?

My Cron công việc trông như thế này

mysqldump -u username -pPassword db_name > www/db_backup/db_backup+date%d%m%y.sql 

Nhưng những tập tin tôi nhận được là: db_backup + ngày không mở rộng tập tin hoặc ngày.

Tôi cũng đã thử lệnh này

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_'date +%d%m%y'.sql 

nhưng điều đó thậm chí không đưa ra một sản lượng tập tin.

Cú pháp đúng để nhận ngày được nối vào tệp của tôi là gì ??

Chân thành
- Mestika

Trả lời

23

Bạn nên sử dụng `` thay vì '' xung quanh lệnh mà bạn muốn thực hiện để tạo ra ngày hiện tại cho tên tập tin của bạn.

+1

bạn có thể chỉnh sửa các câu trả lời hoặc một người nào đó cung cấp một ví dụ chính xác hơn trong các ý kiến? –

40
* * * * * echo "hello" > /tmp/helloFile_$(date +\%Y\%m\%d\%H\%M\%S).txt 

Bạn chỉ cần thoát khỏi dấu ngoặc đơn.

định dạng ngày khác: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

+2

Không hoạt động trên CentOS .. – raven

+3

Làm việc trên CentOS 6.6. */10 * * * */usr/bin/php -q /var/www/script.php> cron-job-log - $ (ngày + \% Y \% m \% d \% H \% M \% S) .txt – ursuleacv

+0

Các câu trả lời @ursuleacv hoạt động như mong đợi. Đây là lệnh cron mẫu của tôi: '08 10 * * * mysqldump -uYeBeSis_X2 -pPASWORDTHING dbName>/var/www/yebesis/mysqly/$ (ngày + \% Y _ \% m _ \% d _ \% I _ \% M _ \% p) _yebesis.sql' – caglaror

5

tôi cần phải tạo một file log mới mỗi lệnh thời gian được thực thi. Vì vậy, mỗi ngày tôi nên có một bản ghi như thế này /home/me/Logs/power_20151230.log Các crontab dòng mà tôi sử dụng là:

00 8 * * * /home/me/power.py ON >> /home/me/Logs/power\_`date +20\%y\%m\%d` 

Note ký tự gạch dưới phải được thoát ra quá.

1

Bạn phải thoát khỏi định dạng và sử dụng đánh giá

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_`date +\%d\%m\%y`.sql 
Các vấn đề liên quan