byulent: cmd ничего о датах не знает и работать с датами не умеет в принципе. Попробуй пересмотреть условие задачи, может быть хватить проверки на "не равно". Если нет, то можно:
1.Перевести дату/время в секунды и сравнивать секунды. Реализацию на батниках я делал несколько лет назад, выкладывал на forum.ru-board.com, а так же встречал в интернете и другие реализации.
2.Можно по проще поступить: разделяешь дату и время, удаляешь в них разделители, дату нужно переупорядочить в формат YYYYMMDD. В итоге получаешь числа, которые можно сравнивать. Если не разделять дату и время, то числа будут очень большие cmd не справиться со сравнением (в cmd числа являются 32 битными целыми со знаком).
3.Можно написать простейший скрипт на vbs/js для сравнения дат из параметра и возврата результата сравнения в коде возврата. В этом случае, возможно, имеет смысл и весь скрипт переписать на vbs/js.
Накопал немного. Обошлось без отладки системных либ.
Рушится на вызове getpwnam(username), при этом username - указывает в никуда. Хотя выше по коду идет
char *username = cmd;
При этом cmd нормально определено и имеет корректное значение "root". Больше по коду присваивания username нет нигде. Полтергейст?
С отладочной информацией запускал без отладчика - падает.
Дампы есть, создаются автоматически.
В gdb после загрузки дампа:
Program terminated with signal 11, Segmentation fault.
#0 0x0000000802a1a0e5 in ?? ()
Что с этой информацией делать, честно говоря не знаю.
Адрес - видимо адрес функции, на которой падает, но раз он без расшифровки, то скорее всего это адрес системной функции. Как узнать какой именно?
Информация о сигнале, то же особо ни о чем не говорит.
SyavaSyava: Менял как-то скриптом настройки ДНС, как раз через реестр, пока не перезагрузишься не работало.
Думаю, что через реестр не совсем правильно все это делать - есть netsh.
Возможно. Я ни когда не использовал arp proxy. По симптомам - это может быть и оно, как по факту это работает - не знаю.
Закройте фаерволом исходящие пакеты на внешнем интерфейсе с локальными адресами.
Список больших файлов можно получить еще и так:
find /usr -size +10M -ls
Выведет все файлы в /usr больше 10Мб размером. Если вывод будет слишком большим цифру можно увеличивать. Вместо мегабайт можно указывать "k", "G". sbh: Прислушайся о чем тут говорят. Место на диске оно же ни куда не испарилось, оно чем-то занято. Выяснишь какими файлами занято, будет наводка на "кто занял" (кто владелец файлов) или возможно какой программой файлы созданы.
Вообще в нормальной ситуации на фряшном сервер /usr практически не должен расти без участия человека. Растет обычно /var.
У вас на 0.254 трафик не заворачивается в ВПН. Никаких внешних адресов в tracert не должно быть. Кстати, на схеме вы упустили еще адресацию в ВПН. Предполагаю что и со стороны 35.254 будет происходить нечто похожее.
Смотрите настройки OpenVPN. Кто является сервером OpenVPN на вашей схеме? В OpenVPN есть соответствующие директивы, с помощью которых можно прописать маршруты к клиентской сети и маршруты к серверной сети.
Отберай только по /im.
Видимо для винды он все еще running. Возможно, ему нужно время, чтоб уйти в not responding или винде нужно время чтоб понять это.
Отбор процессов можно проверить с помощью tasklist - фильтр и там и там работает одинаково. Уточненный вызов:
tasklist.exe /FI "STATUS eq Not Responding"
Если отбирает правильные процессы замените tasklist на taskkill, команду в батник, батник повесить в шедулер. Можно навесить дополнительных фильтров, например на имя образа исполняемого файла и т.п.
Возможно, дело в кодировке бат-файла. По умолчанию в консоли кодировка 866, если ты сделал батник, например, в блокноте с этой командой то у него будет кодировка 1251, из-за этого "слово" прочитается как набор кракозябр. Поставь перед del echo, а второй строкой батника pause, тогда все сам увидишь.
Если это так, то выхода 2:
1.сохранить батник в кодировке 866, с соответствующей правкой "слова"
2.первой командой батника сделать chcp 1251
1.Перевести дату/время в секунды и сравнивать секунды. Реализацию на батниках я делал несколько лет назад, выкладывал на forum.ru-board.com, а так же встречал в интернете и другие реализации.
2.Можно по проще поступить: разделяешь дату и время, удаляешь в них разделители, дату нужно переупорядочить в формат YYYYMMDD. В итоге получаешь числа, которые можно сравнивать. Если не разделять дату и время, то числа будут очень большие cmd не справиться со сравнением (в cmd числа являются 32 битными целыми со знаком).
3.Можно написать простейший скрипт на vbs/js для сравнения дат из параметра и возврата результата сравнения в коде возврата. В этом случае, возможно, имеет смысл и весь скрипт переписать на vbs/js.