modify import crontab job only keep original code

pull/169/head
msccreater 2021-08-19 00:12:49 +08:00
parent 0130518410
commit 659992f411
1 changed files with 26 additions and 1 deletions

View File

@ -157,6 +157,28 @@ make_command = function(tab) {
return crontab_job_string; return crontab_job_string;
} }
parse_command = function(job_string) {
var regex_start = /\(\(\({ /;
var regex_end = /; } | tee/
var res_start = job_string.search(regex_start);
var res_end = job_string.search(regex_end);
var command = job_string;
if(res_start > -1 && res_end > -1){
command = job_string.substr(res_start + 5, res_end - res_start - 5);
}
return command
}
parse_logging = function(job_string) {
var regex = /if test -f/;
var res = job_string.search(regex);
var logging = false;
if(res > -1){
logging = true
}
return logging
}
add_env_vars = function(env_vars, command) { add_env_vars = function(env_vars, command) {
console.log("env vars"); console.log("env vars");
console.log(env_vars) console.log(env_vars)
@ -289,6 +311,9 @@ exports.import_crontab = function(){
var regex = /^((\@[a-zA-Z]+\s+)|(([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+))/; var regex = /^((\@[a-zA-Z]+\s+)|(([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+))/;
var command = line.replace(regex, '').trim(); var command = line.replace(regex, '').trim();
var schedule = line.replace(command, '').trim(); var schedule = line.replace(command, '').trim();
var new_command = parse_command(command)
var logging = parse_logging(command)
command = new_command
var is_valid = false; var is_valid = false;
try { is_valid = cron_parser.parseString(line).expressions.length > 0; } catch (e){} try { is_valid = cron_parser.parseString(line).expressions.length > 0; } catch (e){}
@ -301,7 +326,7 @@ exports.import_crontab = function(){
throw err; throw err;
} }
if(!doc){ if(!doc){
exports.create_new(name, command, schedule, null); exports.create_new(name, command, schedule, logging);
} }
else{ else{
doc.command = command; doc.command = command;