Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) 1 2 [3] 4  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Не пишет значения в базу
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




А можно другой способ сделать?
Когда включиться компьютер написать в device_history значение "1" и время включения, а когда выключит (в конце рабочего дня) значение "0"... Типо как на форумах "был в сети в такое то время и вышел из сети в такое" ?
такое возможно? но как? ( (>_<) знаний пока у меня не хватает sad.gif )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 77




он пишет только:
Цитата
// Если статус изменился , записываем результат
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




Kusss
ну чисто формально можно так сделать? Как на форумах.... Это типо Если статус изменился утром пишет 1 и время его, а когда выключил записывает 0 и время во скока... а не каждый раз?
Кстати, я поставил обновления каждые 10 мин. через CRON
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 77




Он так и делает.
Если ты запустишь запрос который я писал выше, он и выведет тебе .

192.168.*.* - 0/1(статус) - 50.xxx (время c момента вкл/откл в минутах).
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (TriSTaR @ 28.12.2015 - 11:58)
Kusss
ну чисто формально можно так сделать? Как на форумах.... Это типо Если статус изменился утром пишет 1 и время его, а когда выключил записывает 0 и время во скока... а не каждый раз?
Кстати, я поставил обновления каждые 10 мин. через CRON

а сколько времени сканирование занимает?
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




Kusss
он выводит, это да))) файл будет каждые 10 мин. запускаться, просто каждые 10 мин. будет по новому писать (INSERT делать), если так будет через неделю в базе 500 тис. строк будет unsure.gif
Я предлагаю такое решение: например,Пришел на работу компьютер с айпи 192.168.1.2 делается пинг и написать в базу 1 и его время, и если каждые 10 мин. файл будет обновляться пусть файл проверит статус айпи 192.168.1.2 и если он до сих пор онлайн не писать ничего в базу, и так каждый раз пока тот айпи не станет вне сети. А потом если он ушёл с работы, писать в базу значение 0 и время... Нужна проверка

killer8080
примерно от 3 до 5-6 мин. в зависимости какой ответ приходит... если многие оффлайн много времени уходит...

Это сообщение отредактировал TriSTaR - 29.12.2015 - 08:40
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




Kusss
Цитата
Он так и делает.
Если ты запустишь запрос который я писал выше, он и выведет тебе .

192.168.*.* - 0/1(статус) - 50.xxx (время c момента вкл/откл в минутах).


ну вроде да он так должен сделать... Т.к. там есть:

Цитата
// Записываем изменения статуса
if (count($array_status) > 0) {

но он каждый раз в базу пишет по новому всех, даже если статус не изменился unsure.gif

Это сообщение отредактировал TriSTaR - 29.12.2015 - 08:39
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (TriSTaR @ 29.12.2015 - 07:29)
killer8080
примерно от 3 до 5-6 мин. в зависимости какой ответ приходит... если многие оффлайн много времени уходит...

а вот теперь сравни с nmap
Nmap done: 508 IP addresses (149 hosts up) scanned in 16.83 seconds
разница на лицо user posted image

Цитата (TriSTaR @ 28.12.2015 - 07:44)
А можно другой способ сделать?
Когда включиться компьютер написать в device_history значение "1" и время включения, а когда выключит (в конце рабочего дня) значение "0".

эта задача решается триггерами
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




killer8080
Цитата
Nmap done: 508 IP addresses (149 hosts up) scanned in 16.83 seconds

интересно интересно :P
Что нужно для этого сделать? Да и как можно обяденить его со скриптом которое выше написал KUS (с записыванием времени)? не могли бы его обяденить его с вашим скриптом
Цитата
#!/bin/sh

db_user="username"
db_pass="password"
db_host="localhost"
db_name="database"
exec_db="mysql -h $db_host -u $db_user -p$db_pass -D $db_name -e"
ip_list="/tmp/ip.list"

echo "Start scanning network (`date`) ..."
[ -f $ip_list ] || $exec_db "SELECT DISTINCT ip_address FROM devices INTO OUTFILE '$ip_list'" && \
nmap -sP -iL $ip_list | grep -P -o "\d+\.\d+\.\d+\.\d+" >/tmp/active_ip.list && \
$exec_db "DROP TABLE IF EXISTS active_ip" && \
$exec_db "CREATE TABLE active_ip (id int not null auto_increment, ip varchar(15), PRIMARY KEY (id)) ENGINE=InnoDB" && \
$exec_db "LOAD DATA INFILE '/tmp/active_ip.list' INTO TABLE active_ip (ip)" && \
$exec_db "UPDATE devices SET status=1 WHERE ip_address IN (SELECT ip FROM active_ip)" && \
$exec_db "UPDATE devices SET status=0 WHERE ip_address NOT IN (SELECT ip FROM active_ip)"
rm /tmp/active_ip.list
echo "Done (`date`)"

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (TriSTaR @ 29.12.2015 - 08:41)
Что нужно для этого сделать?

вписать в переменные свои данные доступа к БД
проверить установлен ли nmap, если нет - установить
запустить скрипт в консоли, убедится что работает как надо
добавить запуск в крон с интервалом 2-3 минуты

Цитата (TriSTaR @ 29.12.2015 - 08:41)
Да и как можно обяденить его со скриптом которое выше написал KUS (с записыванием времени)?

как и говорил, триггер на апдейт таблицы devices который будет добавлять записи при изменении статуса. PHP не нужна MySQL сама справится. smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




killer8080
Цитата
вписать в переменные свои данные доступа к БД

вписал!
Цитата
проверить установлен ли nmap, если нет - установить

Установлен, проверил и сканировал с запросом (помог администратор):
nmap -v -sP 192.168.1.0/24 192.168.10.0/24 192.168.60.0/24 >> scan.log 2>&1

Всё работает
Цитата
запустить скрипт в консоли, убедится что работает как надо

Так вот тут вопрос: с каким разрешением скрипт сохранить? Куда сохранить? и как запустить через консоль?
Цитата
добавить запуск в крон с интервалом 2-3 минуты

это уже после 10 января, администратор в Москву улетает сегодня чтобы отдыхать <_<
Цитата
как и говорил, триггер на апдейт таблицы devices который будет добавлять записи при изменении статуса. PHP не нужна MySQL сама справится. smile.gif

Примера не будет? :rolleyes:
З.Ы. не смог + поставить вам с Касом в карму.. говорит уже поставили, теперь через день :))

Это сообщение отредактировал TriSTaR - 29.12.2015 - 10:39
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (TriSTaR @ 29.12.2015 - 09:33)
Так вот тут вопрос: с каким разрешением скрипт сохранить? Куда сохранить? и как запустить через консоль?

Ну вам там виднее "куда сохранить", с php скриптом этого вопроса не возникало же user posted image
Права нужно выставить на выполнение типа
chmod +x script.sh

Зайти на сервер по SSH и запустить.
Цитата (TriSTaR @ 29.12.2015 - 09:33)
Примера не будет? :rolleyes:

CREATE TRIGGER `devices_update` BEFORE UPDATE ON `devices`
FOR EACH ROW BEGIN
IF NEW.status <> OLD.status THEN
INSERT INTO
`devices_history` (`ip`, `status`, `date`) VALUES (OLD.ip_address, NEW.status, NOW());
END IF;
END

Цитата (TriSTaR @ 29.12.2015 - 09:33)
З.Ы. не смог + поставить вам с Касом в карму.. говорит уже поставили, теперь через день :))

да фиг с ней user posted image у меня её валом user posted image
PS вообще правильней IPv4 адреса хранить в INT а не в VARCHAR, и на это поле нужно поставить индекс, поскольку по нему выборка идёт.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




killer8080
ГЫЫ... О.О
Зашёл на сервер через ssh (PUTTY), зашёл в путь...
дал права:
sudo chmod +x base_update.sh

после написал:
./base_update.sh

выдаёт такую ошибку
Start scanning network (Tue Dec 29 16:16:20 UZT 2015) ...
ERROR 1045 (28000) at line 1: Access denied for user 'test'@'%' (using password: YES)
rm: cannot remove `/tmp/active_ip.list': No such file or directory
Done (Tue Dec 29 16:16:20 UZT 2015)

Хотя не должен был, т.к. логин и пароль правильный...
db_user="test"
db_pass="test"
db_host="192.168.10.56"
db_name="test"

$link = mysqli_connect("192.168.10.56", "test", "test", "test");


Это сообщение отредактировал TriSTaR - 29.12.2015 - 14:07
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (TriSTaR @ 29.12.2015 - 13:02)
db_host="192.168.10.56"

mysql сервер на другом хосте? Возможно удаленное подключение к нему запрещено.

Цитата (TriSTaR @ 29.12.2015 - 13:02)
$link = mysqli_connect("192.168.10.56", "test", "test", "test");

php код запускается на том же хосте что и скрипт?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TriSTaR  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 29
Пользователь №: 41681
На форуме: 1 год, 4 месяца, 2 дня
Карма:




killer8080
Цитата
mysql сервер на другом хосте?

да на другом... Скрипт и сайт находиться на 192.168.1.7 , а mysql на 192.168.10.56.. У нас много серверов из за этого так..
Цитата
Возможно удаленное подключение к нему запрещено.

Но через php заходила же (
$link = mysqli_connect("192.168.10.56", "test", "test", "test");
)
Цитата
php код запускается на том же хосте что и скрипт?

да, этот php код как и все остальные находятся на 192.168.1.7
Цитата
Access denied for user 'test'@'%'

что за ироглифы после тест..

Это сообщение отредактировал TriSTaR - 30.12.2015 - 07:38
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) 1 2 [3] 4  Ответ в темуСоздание новой темыСоздание опроса