Hỏi về chạy crontab


(Tung Kha) #1

Chào các bác,
Hàng ngày em phải vào phpMyAdmin (em vào bằng user root luôn) để chạy sql sau:

DELETE FROM ten_database.wp_options WHERE option_name LIKE ‘%transient%’;

Xin được hỏi:
Em muốn đưa cái lệnh này vào crontab để nó tự động chạy thì làm như thế nào ạ
Mong các bác chỉ giúp


(dao_tran) #2

Viết một script mấy câu lệnh đó lưu thành file có đuôi .sh, cài crontab rồi cấu hình crontab chạy file đó một ngày một lần
file sh ví dụ cho bạn

#!/bin/bash
mysql -u root -p<_pass user root> <<EOF
use <tên db của bạn>;
DELETE FROM ten_database.wp_options WHERE option_name LIKE ‘% transient %
EOF


(Tung Kha) #3

Cảm ơn bạn đã hồi âm.
Tuy nhiên khi minh làm như bạn chỉ dẫn thì ko được bạn à.
Mình test chạy trực tiếp file sh thì nó bị gián đoạn:
Nó ra ngay dấu nhắc
MariaDB [(none)]>
Nó không chạy liên tục
Nhờ bạn xem lại giúp mình với nhé


(Tung Kha) #4

Mình bổ sung thêm, nghĩa là khi mình chay sh ./file.sh thì đến cái dòng đầu vào Mysql xong là nó dừng lại.
Vậy nên 2 lệnh dưới đây không được chạy:
use <tên db của bạn>; DELETE FROM ten_database.wp_options WHERE option_name LIKE ‘% transient %

Lúc đó dấu nhắc tại ssh là:
MariaDB [(none)]>

Nhờ bạn giúp mình vụ này với nhé


(dao_tran) #5

mình ssh vào xem thử được không