每天在特定时间创建活动
Create event daily, on a specific time
第一个事件从 table:
中删除所有行
CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`
第二个事件从同一个 table 中删除 id
列:
CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`
第三个事件将 id
列添加到相同的 table:
CREATE DEFINER=`frontdes_user`@`localhost` EVENT `add_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)
我希望这些活动每天 运行:
第一个每天 06:30,第二个每天 06:35,第三个 06:40。
谁能帮我确定正确的时间表?最好的问候,博格丹。
如果你可以访问你的机器,你可以使用 cronJob,crontab 计划的基本格式由 6 个字段组成,放在一行上并用空格分隔,格式如下:
minute hour day month day-of-week command-line-to-execute
首先创建一个脚本:
第一个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`"
第二个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`"
第三个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)"
然后使用 crontab -e
创建 3 个 cron
crontab -e
30 6 * * * /path/of/scriptOne
35 6 * * * /path/of/scriptTwo
40 6 * * * /path/of/scriptThree
第一个事件从 table:
中删除所有行CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`
第二个事件从同一个 table 中删除 id
列:
CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`
第三个事件将 id
列添加到相同的 table:
CREATE DEFINER=`frontdes_user`@`localhost` EVENT `add_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)
我希望这些活动每天 运行: 第一个每天 06:30,第二个每天 06:35,第三个 06:40。 谁能帮我确定正确的时间表?最好的问候,博格丹。
如果你可以访问你的机器,你可以使用 cronJob,crontab 计划的基本格式由 6 个字段组成,放在一行上并用空格分隔,格式如下:
minute hour day month day-of-week command-line-to-execute
首先创建一个脚本:
第一个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`"
第二个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`"
第三个脚本
#!/bin/bash
mysql --user=[username] --password=[password] --database=[db name] --execute="ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)"
然后使用 crontab -e
crontab -e
30 6 * * * /path/of/scriptOne
35 6 * * * /path/of/scriptTwo
40 6 * * * /path/of/scriptThree