sed regexp для замены xxx в определяют ('DB_PASSWORD', 'xxxx');?

Сделайте Вы имеете в распоряжении вход:
Печально многие люди часто забывают смотреть журналы для получения представления в их проблему.

Я запустил бы с некоторого Основного Контроля, Регистрируясь и Диагностического Набора инструментов.

  1. наверх
  2. mtop http://mtop.sourceforge.net
  3. innotop http://innotop.sourceforge.net
  4. MySQL processlist / mysqladmin proc
  5. MySQLTuner http://mysqltuner.pl
  6. MySQLidxchk: http://hackmysql.com/scripts/mysqlidxchk-1.1 (большой для парсинга журнала)
  7. MySQLSLA - создание отчетов о состоянии для MySQL: http://hackmysql.com/scripts/mysqlsla
  8. MySQLReport - http:// hackmysql.com/scripts/mysqlreport (большая утилита, которая интерпретирует ВЫСТАВОЧНЫЕ значения СОСТОЯНИЯ MySQL в подробный отчет о том, как MySQL работает
  9. IOTOP / SAR
  10. Вы уверены, что весь трафик является допустимым трафиком? мог бы хотеть проверить дважды против журналов и удостовериться, что трафик допустим.
  11. Все соединения - являются несколькими от тех же IP-адресов? (больше чем обычно), используют это для проверки, сколько соединений прибывает из 1 IP: netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
  12. Вы могли также работать некоторые с Mod_Evasive
  13. В зависимости от Ваших результатов - перемещают MySQL в другой сервер
  14. Думайте о подсистеме балансировки нагрузки - или Nginx или перемещающийся от решения для веб-хостинга Apache до другого как чероки, Nginx, и т.д...

Если это сообщение помогло Вам - почему Вы не голосуете за него :-) Благословения

0
задан 25 August 2013 в 17:09
2 ответа

Это сложно, если вы не знаете старый пароль. Но вы можете попробовать что-то вроде этого -

 sed -e "s;\(define([[:space:]]*'DB_PASSWORD',[[:space:]]*\)\(.*\)\()\;\);\1'NewPassHere'\3;g" wp-config.php

Это будет соответствовать тексту перед паролем, затем паролю, а затем оставшемуся тексту после пароля. Он сохранит его в \ 1, \ 2, \ 3 - в конце он заменит только \ 2 (который является паролем).

После того, как вы визуально подтвердите, что он успешно заменил пароли, вы можете использовать 'sed -i 'для замены паролей. Пожалуйста, сделайте резервную копию wp-config.php перед запуском этого единственного лайнера.

3
ответ дан 4 December 2019 в 12:35

На случай, если кому-то понадобится Perl (в настоящее время большинство людей не знают, что у вас есть такой инструмент по умолчанию во многих дистрибутивах). Oneliner заменяет все, что находится между второй парой одинарных кавычек, новым паролем.

perl -i -pe" s|^define.'DB_NAME', '(.*?)'.;|define('DB_PASSWORD', 'newpassword');|" wp-config.php

Здесь точки после «определить» и перед «;» означает "(" и ")" соответственно, чтобы избежать конструкции типа "(", которая делает регулярное выражение более читаемым. Кроме того, для удобства чтения заменяемой части я не переносил части строки, которые находятся до и после пароля, в переменную, но, конечно, это можно сделать.

Если вы запускаете oneliner в скрипте и вам нужно получить новый проход из переменной оболочки:

newpass=$(do_something_here)
perl -i -pe" s|^define.'DB_NAME', '(.*?)'.;|define('DB_PASSWORD', '$newpass');|" wp-config.php
0
ответ дан 4 December 2019 в 12:35

Теги

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