Я создаю базу данных, которая содержит информацию о хостах в моей сети.Я представляю эти данные на сайте, созданном PHPMaker.(http://www.hkvstore.com/phpmaker/)
Целью этого проекта является создание системы управления IP-адресами.
Важно сохранить исторические данные любой записи в БД. Если мы вручную изменимЗаписать на сайт, построенный PHPMaker, мы можем записать старые данные записи в другую таблицу. Код, используемый для этого, выглядит следующим образом. (Может быть, это не совсем актуально, но я привел это здесь, чтобы вы могли понять, как выглядят данныенапример)
$sInsertSql = "INSERT INTO IPHistoric (ip, status, hostname, last_scanned, mac, ManualHost, Reservation)
VALUES ('" . $rsold['ip'] . "', '" . $rsold['status'] . "', '" . $rsold['hostname'] . "', '" . $rsold['last_scanned'] . "', '" . $rsold['mac'] . "', '" . $rsold['ManualHost'] . "', '". $rsold['Reservation'] . "')";
Теперь я также заполняю данные скриптом perl с именем nmap2db.pl (http://search.cpan.org/~apersaud/Nmap-Parser-1.2/tools/nmap2db.pl), который позволяет очень легко выполнить сканирование nmap подсети и заполнить ееданные в таблицу.
Что мне нужно:
Мне нужен скрипт perl для сохранения любых старых данных в таблицу IPHistoric вместо простой перезаписи каждый раз. Я сделал несколько небольших изменений в скрипте(удалены некоторые поля из схемы БД)
Вставить полный скрипт: http://pastebin.com/V3AwcBVR
Похоже, что строки с 92 по 95 - это место, где происходит магия.
$S{INSERT_HOST}
= qq{REPLACE INTO }
. $G{TABLE}
. qq{ (ip, mac, status, hostname) VALUES (?,?,?,?)};
Так или иначе ... Я не знаю Perl, и я не очень хорош в SQL.Понятно, что я пытаюсь достичь?Можно ли отредактировать этот скрипт, чтобы делать то, что я хочу?