警报MySQL工作

时间:2013-10-10 01:36:00

标签: mysql macos mysql-workbench sequelpro

这可能是一个简单或极其复杂的问题,而搜索却没有产生任何结果。

我在OSX上使用Sequel Pro运行了很多查询,其中一些可以采取,例如> 8小时。然而,很多时候我无法预测工作需要多长时间。我想知道在MySQL,OSX,MySQLWorkBench或Sequel Pro中是否有办法设置弹出警报/电子邮件/ ANYTHING,以便在查询完成时提醒我。这可能听起来像一个奇怪的请求,但是当我的工作在后台运行时,知道我喜欢做其他任务会非常有帮助。我很清楚这可能是不可能的。

非常感谢任何见解,

1 个答案:

答案 0 :(得分:3)

只是为了给你一个主意。由于您使用的是Mac,因此您可以使用osascript生成这样的弹出窗口

$ osascript -e 'tell app "System Events" to display dialog "Hello World" buttons "OK" default button 1'

现在您可以创建一个简单的脚本来执行您的sql作业。我们称之为mysqlnotify

#!/bin/bash
/usr/local/mysql/bin/mysql -uusername -puserpassword dbname < $1 > $2
/usr/bin/osascript -e 'tell app "System Events" to display dialog "Your SQL job has finished" buttons "OK" default button 1 with title "mysqlnotify"'

使其可执行

$ chmod +x ./mysqlnotify

然后在您喜欢的编辑器/ IDE(Sequel Pro,MySQL Workbench,TextMate,......无论你有什么)中创建SQL查询并将其保存到文件中。我们称之为sleep.sql

SELECT 'Your results', SLEEP(5) FROM dual;

要执行查询,请打开一个新的终端窗口并执行

$ /path/to/mysqlnotify sleep.sql sleep.txt

当您的查询完成后,您将获得一个弹出窗口

+----------------------------+
| mysqlnotify                |
+----------------------------+
| Your SQL job has finished  |
|                            |
|                     | OK | |
+----------------------------+

您的查询结果将保存在sleep.txt