2010-06-21 151 views
0

我有一個備份系統.....每5分鐘備份一個文件夾。可以使用其IP地址將備份分配給任何設備。但是每週或每月一次該設備重新啓動,並且我們希望每隔一週或每月在特定時間關閉備份一段時間。創建數據庫表不應該是一個問題,我想知道是否有什麼辦法,我們可以在一個功能在MySQL中創建一個定時器

中的表結構爲做到這一點下面

設備

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 

目前我選擇去惡習是什麼,我WANA實現是

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

任何想法,我怎麼會做這做,我應該考慮完代碼實現這一點,而不是在一個MySQL的功能是backedup如下

SELECT * FROM Device WHERE backup=1 

回答

0

我會使用id INTbackupEnabled BOOLEAN,並使用cron腳本或Quartz來啓用/禁用備份。更確切地說,我會從導致重啓的同一腳本更新它。複製重新啓動的時間是無用的,並且容易出錯。

+0

是的,但設備是由IP地址定義的。備份在本地運行而不是本地,所以我不知道腳本的事情。 – 2010-06-21 03:48:15