在MySQL中创建计时器
我有一个备份系统。。。。。每5分钟备份一个文件夹。可以使用其IP地址将备份分配给任何设备。但是,该设备每周一次或每月一次重新启动,我们希望每周或每月在特定时间关闭备份,时间为特定秒。创建数据库表应该不是问题,我想知道是否有任何方法可以在函数中实现这一点 表的结构如下所示 设备在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
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地址定义的。而且备份是通过网络而不是本地运行的,所以我不确定脚本的事情。