我的MySql DB中有一个名为"user_action"的表.我希望每天删除此表中早于30天的旧记录(根据"action_date"datetime列),我想使用crontab执行此操作.
有什么想法吗?
创建/usr/local/bin/clear-out-old-records.sh并使其可执行:
#!/bin/bash
SQL="DELETE FROM user_action WHERE action_date < DATE_SUB(CURDATE(),INTERVAL 30 DAY)"
MYSQL_USER="<your-user>"
MYSQL_PASS="<your-password>"
MYSQL_DB="<your-db>"
echo $SQL | /usr/bin/mysql --user=$MYSQL_USER --password=$MYSQL_PASS $MYSQL_DB
Run Code Online (Sandbox Code Playgroud)
...然后放入/usr/local/bin/clear-out-old-records.shcrontab.