gpt4 book ai didi

mysql - 如何设置 crontab 来执行 mysql 查询并记录输出?

转载 作者:可可西里 更新时间:2023-11-01 07:11:12 25 4
gpt4 key购买 nike

好吧,标题 self 描述了它..我需要运行一个 sql 函数来清理一些重复的帖子,我需要每天执行几次,所以我需要使用 cron...

我设置了一个新的 crontab 作业,如下所示:

00 16,18,19,20,21 * * * mysql -h MY-DB-HOST.COM -u MY-DB-USERNAME -pMY-DB-PASSWORD -e "delete from hotaru_posts where post_id in ( select post_id from ( select post_id from hotaru_posts a group by post_title having count(post_title) > 1 ) b )" >> /tmp/cron_job.log

但似乎没有任何记录,所以我认为它不起作用。

sql语句没有问题,不是这里的问题

我的 cron 规则有什么问题吗?

最佳答案

好吧,因为 mysql 不能直接在 crontab 中正常工作(我认为这是一个路径问题,就像 Alex Howansky 说的),我创建了一个处理这个查询的 php 文件并在 crontab 中调用 php,更容易,并且给我使用条件的选项。

定时任务:

00 8,14,18,19,20,21,23 * * * /usr/local/bin/php /home/aikaforum/cata/public_html/cron_dup.php >> /cata/tmp/cron_dup.log 

PHP:

<?php
$username="xxxxxxx";
$password="xxxxxx";
$dbname="xxxxxx";
$dbhost="xxxxx.xxxxx.com";
$query="delete from hotaru_posts where post_id in ( select post_id from ( select post_id from hotaru_posts a group by post_title having count(post_title) > 1 ) b )";
mysql_connect($dbhost,$username,$password);
@mysql_select_db($dbname) or die(strftime('%c')." Unable to select database");
mysql_query($query);
mysql_close();
echo strftime('%c')." ok!";
?>

感谢所有的帮助。

关于mysql - 如何设置 crontab 来执行 mysql 查询并记录输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9948220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com