:global EditSchedulers;\r
:global OSUpdateMode;\r
\r
-:local SchedComment "Every 7 Day Check For Update and Backup send notification to EMail.";\r
-:local SchedInterval "7d 00:00:00";\r
+:local SchedInterval "7d";\r
:local SchedStartTime "03:41:27";\r
+:local SchedComment "Every 7 Day Check For Update and Backup send notification to EMail.";\r
\r
# Function to add or edit schedulers for scripts, to ensure they are set up correctly\r
# How to use:\r
# Call this function with the following parameters:\r
# 1. $1 - Scheduler name (usually same as script name) [*]\r
-# 2. $2 - Interval (e.g. "1d 00:00:00" (default is "1d")) [**]\r
+# 2. $2 - Interval (e.g. "1d" (default is "1d")) [**]\r
# 3. $3 - Start Time (e.g. "00:00:00", default is current time) [**]\r
# 4. $4 - On Event command (e.g. "/system/script { run <name>; }" (default is "/system/script { run $SchedName; }")) [**]\r
# 5. $5 - Policy (e.g. "ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon" (default is the same)) [**]\r
# This allows for quick setup with minimal parameters, while still providing flexibility for customization.\r
# Example usage:\r
# :if ([ $EditSchedulers "my-script" ] = false) do={:set ExitOK false; :error true;}\r
-# :if ([ $EditSchedulers "my-script" "1d 00:00:00" "03:41:27" ] = false) do={:set ExitOK false; :error true;}\r
+# :if ([ $EditSchedulers "my-script" "1d" "03:41:27" ] = false) do={:set ExitOK false; :error true;}\r
\r
:set EditSchedulers do={\r
:global LogPrint;\r
:local SchedName [ :tostr $1 ];\r
+ :if ([ :len $SchedName ] = 0) do={ :return false; }\r
:local Interval [ :tostr $2 ];\r
- :if ([ :len $Interval ] = 0) do={:set Interval "1d"};\r
+ :if ([ :len $Interval ] = 0) do={ :set Interval "1d"; }\r
:local StartTime [ :tostr $3 ];\r
- :if ([ :len $StartTime ] = 0) do={:set StartTime [/system/clock/get time]};\r
+ :if ([ :len $StartTime ] = 0) do={ :set StartTime [/system/clock/get time]; }\r
:local OnEvent [ :tostr $4 ];\r
- :if ([ :len $OnEvent ] > 0) do={:set OnEvent "/system/script { run $SchedName; }"};\r
+ :if ([ :len $OnEvent ] > 0) do={ :set OnEvent "/system/script { run $SchedName; }"; }\r
:local Policy [ :tostr $5 ];\r
- :if ([ :len $Policy ] = 0) do={:set Policy "ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon"};\r
+ :if ([ :len $Policy ] = 0) do={ :set Policy "ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon"; }\r
:local StartDate [ :tostr $6 ];\r
- :if ([ :len $StartDate ] = 0) do={:set StartDate [/system/clock/get date]};\r
+ :if ([ :len $StartDate ] = 0) do={ :set StartDate [/system/clock/get date]; }\r
:local Comment [ :tostr $7 ];\r
- :if ([ :len $Comment ] = 0) do={:set Comment "Scheduler for script: $SchedName"};\r
+ :if ([ :len $Comment ] = 0) do={ :set Comment "Scheduler for script: $SchedName"; }\r
\r
:onerror Err {\r
# Check if scheduler exists, if not - create it\r
:return true;\r
}\r
\r
-:if ([ $EditSchedulers $ScriptName $SchedComment $SchedInterval ] = false) do={\r
+:if ([ $EditSchedulers $ScriptName $SchedInterval $SchedStartTime "" "" "" $SchedComment ] = false) do={\r
$LogPrint error $ScriptName ("Failed to add/modify shceduler for " . $ScriptName . "!");\r
:set ExitOK false;\r
:error true;\r