Files
scripts/Perl control mFi/create_cron_db.pl
2024-10-14 00:08:40 +02:00

40 lines
1.2 KiB
Perl

#!/usr/bin/perl
#Kommt auf LSH zum Einsatz
use DBI;
use strict;
# Variable für SQL Befehle
my $sql;
# DB Parameter
my ($db_user, $db_name, $db_pass, $db_host) = ('1_mfi', '1_mfi', 'K01v1kk0!', 'panel.agserver.de');
# DB connect
my $dbh = DBI->connect("DBI:mysql:database=$db_name;host=$db_host", $db_user, $db_pass) or die "Cannot connect to DB\n";
# Cron Einträge in DB?
$sql = "select * from cron";
my $rows = $dbh->do("$sql");
if ($rows == 0) {
print "nothing to do\n";
exit 0;
}
open FILEHANDLE, ">/scripts/mFi2/cron_db";
$sql = "select id, min, hour, dom, mon, dow, port_id, state, active from cron";
my $rows = $dbh->selectall_arrayref("$sql");
foreach (@$rows) {
my $row=$_;
my $state="on" if ($row->[7] == 1);
$state="off" if ($row->[7] == 0);
my $rem='' if ($row->[8] == 1);
$rem='#' if ($row->[8] == 0);
printf FILEHANDLE "# id %5d\n", $row->[0];
printf FILEHANDLE "%1s %5s %5s %5s %5s %5s root /scripts/mFi2/write_queue.pl %3s %5s > /dev/null 2>&1\n", $rem, $row->[1], $row->[2], $row->[3], $row->[4], $row->[5], $row->[6], $state;
printf "%1s %5s %5s %5s %5s %5s root /scripts/mFi2/write_queue.pl %3s %5s > /dev/null 2>&1\n", $rem, $row->[1], $row->[2], $row->[3], $row->[4], $row->[5], $row->[6], $state;
}