expire_logs_days может составить меньше чем 1 день в MySQL?

я хочу запустить скрипт (пакетный файл, но возможно сценарий VB) на каждой машине, однажды. Я не хочу, чтобы это произошло на Входе в систему, Выходе из системы, Запуске или Завершении работы. Я просто хочу, чтобы это произошло как можно скорее, и однажды. Существует ли относительно безболезненный способ сделать это, которое будет работать через все клиентские типы?

VBscript.

Многие ПК находятся позади дешевых маршрутизаторов с 5 портами, включил разъем Ethernet. Думайте пять аспирантов, совместно использующих офис. Таким образом, каждый ПК в офисе имеет RFC1918 IP.

я удивлен, что это работает вообще. Я предполагаю, что все маршрутизаторы имеют различные подсети; иначе Ваш домен будет в полном и чрезвычайном хаосе, поскольку у Вас есть любое число клиентов вся попытка требовать того же 192.168.x.x IP-адрес...

я нахожусь на общедоступной стороне маршрутизатора, таким образом, я не могу соединиться непосредственно с ПК. Следовательно PsExec или WMI не будут работать.

Это - Ваша первая проблема. Необходимо добраться "в" сети каждого. Это кажется, что удаленные ПК находятся позади некоторого брандмауэра NAT, и это вызовет все виды головных болей. Технически, "в идеальном мире", Ваш сервер должен быть в той же сети как Ваши клиенты. Клиенты соединяются через VPN? Если так, это будет Вашим билетом "в".

я думаю, что моя единственная опция состоит в том, чтобы использовать GPO так или иначе, возможно, для планирования задачи запустить скрипт от сетевого диска.

Это может быть проблемой, если GPO, который Вы создаете, применяется, когда пользователь входит в систему, учитывая, что Вы сказали, что не хотите, чтобы он произошел, когда пользователь входит в систему машина.

<час>

я сожалею, что оскорбил Вас с этим, но, учитывая природу вопроса, я должен спросить (если Вы готовы ответить): почему необходимо сделать это? Управляемая сеть не была бы настроена этим безумным способом, и откровенно говоря, от моего POV появляется, как будто Вы хотите смонтировать некоторое нарушение против этих внутренних сетей.

6
задан 6 March 2013 в 00:25
4 ответа

Mysql (сообщество) 8.0.17-1.sles12 Версия - перекати-поле OpenSUSE 02.10.2019

mysql> SET GLOBAL expire_logs_days = 4;
ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds
cannot be used together. Please use binlog_expire_logs_seconds to set the expire
time (expire_logs_days is deprecated)

..

0
ответ дан 3 December 2019 в 00:11

Та страница действительно говорит, что диапазон 0-99.. так да это - целое число.

0 = Нет истеките..

У Вас есть я задающийся вопросом, что 0.5 сделал бы.. Я думаю, что это проигнорировало бы.5 частей и просто не истекло бы их..

2
ответ дан 3 December 2019 в 00:11

Экспериментирование было порядком вечера...

mysql> set @@global.expire_logs_days=0.75;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=.75;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=3.4;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=3/4;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=F;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=0xF;
ERROR 1232 (42000): Incorrect argument type to variable 'expire_logs_days'
mysql> set @@global.expire_logs_days=1;
Query OK, 0 rows affected (0.00 sec)
6
ответ дан 3 December 2019 в 00:11

На самом деле, есть способ подражать этому.

Вот шаги, чтобы очистить двоичные журналы до 1 часа.

ШАГ 01) Создайте сценарий SQL, который удалит все двоичные файлы журналы, отметка времени которых старше часа:

echo "FLUSH LOGS;" > /usr/bin/purge.sql
echo "PURGE BINARY LOGS BEFORE NOW() - INTERVAL 1 HOUR;" >> /usr/bin/purge.sql

ШАГ 02) Создайте сценарий оболочки ( /usr/bin/purge.sh ) для вызова mysql с очисткой . sql

mysql -uroot -p... < /usr/bin/purge.sql

ШАГ 03) Сделайте /usr/bin/purge.sh исполняемым

chmod +x /usr/bin/purge.sh

ШАГ 04) Добавьте usr / bin / purge.sh в crontab, чтобы запускать каждый час

0 * * * * /usr/bin/purge.sh

Попробуйте !!!

4
ответ дан 3 December 2019 в 00:11

Теги

Похожие вопросы