Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中创建计时器_Mysql_Timer - Fatal编程技术网

在MySQL中创建计时器

在MySQL中创建计时器,mysql,timer,Mysql,Timer,我有一个备份系统。。。。。每5分钟备份一个文件夹。可以使用其IP地址将备份分配给任何设备。但是,该设备每周一次或每月一次重新启动,我们希望每周或每月在特定时间关闭备份,时间为特定秒。创建数据库表应该不是问题,我想知道是否有任何方法可以在函数中实现这一点 表的结构如下所示 设备 Id BIGINT(20), //Auto Increment Id of the Device Name VARCHAR(255), //Name of the device Backup TINYI

我有一个备份系统。。。。。每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
关闭备份

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函数中做,我会使用
id INT
backupEnabled BOOLEAN
,并使用cron脚本或Quartz来启用/禁用备份。更准确地说,我会从导致重新启动的同一个脚本中更新它。重复重新启动的时间是无用的,而且容易出错。

是的,但设备是由IP地址定义的。而且备份是通过网络而不是本地运行的,所以我不确定脚本的事情。