在MySQL中创建一个Timer

时间:2010-06-21 03:10:53

标签: mysql timer

我有一个备份系统.....每5分钟备份一个文件夹。可以使用其IP地址将备份分配给任何设备。但是每周一次或每月一次该设备重新启动,我们希望在特定时间内每周或每月关闭备份一段时间。创建数据库表应该不是问题,我想知道我们是否可以在函数中执行此操作

表格结构如下

设备

Id     BIGINT(20),    //Auto Increment Id of the Device
Name   VARCHAR(255),  //Name of the device
Backup TINYINT(1)     //Boolean to represent weather the device is backed or not

TurnOffBackup

Id        BIGINT(20),  //Id of the Table
deviceId  BIGINT(20),  //DeviceId Foriegn Key
weekDay    TINYINT(1), //The week day to turn it off
monthDate INT(2),      //The month date to turn it off
fortime   BIGINT(20)   //The number of seconds to turn the device off for

目前我选择要备份的设备如下

SELECT * FROM Device WHERE backup=1

我想实现的是

SELECT * FROM Device WHERE backup=1 AND TURNBACKUPOFF(Device.Id)=0

任何想法我会怎么做或者我应该考虑在代码中而不是在MySQL函数中这样做

1 个答案:

答案 0 :(得分:0)

我使用id INTbackupEnabled BOOLEAN,并使用cron脚本或Quartz来启用/禁用备份。更确切地说,我将从导致重新启动的相同脚本更新此内容。复制重启时间是无用的,容易出错。