Guest User

Untitled

a guest
Aug 29th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.16 KB | None | 0 0
  1. Шпаргалка собранная кровью, не раз меня выручала и выручает по сей день, пользуйтесь на здоровье:
  2.  
  3. Команды bash
  4.  
  5. http://mymistery.ru/freebsd/freebsd-konsolnyie-komandyi.html
  6. http://webadmin.ur.ru/wiki/doku.php?do=export_xhtml&id=ssh
  7. http://itadept.ru/posts/freebsd-commands/
  8.  
  9. # Работа с CURL
  10. # сделать curl запрос с использованием клиентского сертификата и ключа на https страницу
  11. curl -v -s -k —key xxxx.key —cert xxxx.crt https://mpitest.bspb.ru:5443
  12.  
  13. # Проверить сертификат .crt и ключ .key
  14. # параметр Modulus должны совпадать в обоих случаях
  15. openssl x509 -noout -modulus -in kut_nalog_ru_ee.crt
  16. Modulus=BDECBD7EDE2505F5BD6C408F8DFF5D8737061F04DA6A363F1D5EA9B1E30E5A55F33242DED3D2DD5B096F3C154755E17E5B80719FE721545E856BE418B62E13C0997173E2BF9DCF36C9F395A56A96FC4F7C5C98785CCBA154CA2DE47961BD7CDDD1F40D7550693C901AFBB141DDD611A051CB780092C711D23FAADDFEECF74B07EC70CE700D8E2FFCF7C76225F871540FF95B165FD4F0050F0F765FD2F248401670DA4193B4D829D5E8872B536534BC074D139CD1307EC761630EDA751D6C5FA1B2E1C9A9220EE3DEF47B3DE81DD07622D2AAC1FECA26A342CEE096AD6AD5097B1BE72BF65D6500F9A982DEF985F8AA383CE1EBA90227893AEF319C4249486975
  17.  
  18. openssl rsa -noout -modulus -in kut_nalog_ru.key
  19. Enter pass phrase for kut_nalog_ru.key:
  20. Modulus=BDECBD7EDE2505F5BD6C408F8DFF5D8737061F04DA6A363F1D5EA9B1E30E5A55F33242DED3D2DD5B096F3C154755E17E5B80719FE721545E856BE418B62E13C0997173E2BF9DCF36C9F395A56A96FC4F7C5C98785CCBA154CA2DE47961BD7CDDD1F40D7550693C901AFBB141DDD611A051CB780092C711D23FAADDFEECF74B07EC70CE700D8E2FFCF7C76225F871540FF95B165FD4F0050F0F765FD2F248401670DA4193B4D829D5E8872B536534BC074D139CD1307EC761630EDA751D6C5FA1B2E1C9A9220EE3DEF47B3DE81DD07622D2AAC1FECA26A342CEE096AD6AD5097B1BE72BF65D6500F9A982DEF985F8AA383CE1EBA90227893AEF319C4249486975
  21. # Сгенерить новый CSR и ключ
  22. cd /etc/ssl/
  23. openssl req -new -nodes -out csr/passport.newnn.ru-startssl-req-date +%FT%T.pem -keyout keys/passport.newnn.ru-startssl-key-date +%FT%T.pem -config ./openssl.cnf
  24.  
  25. # Сгенерить новый CSR из текущего ключа
  26. cd /etc/ssl/
  27. openssl req -new -nodes -out csr/passport.newnn.ru-startssl-req-date +%FT%T.pem -key /etc/nginx/ssl/ssl_slim.key -config ./openssl.cnf
  28.  
  29. # openssl x509 -text -in servernamecert.pem # Посмотр информации о сертификате
  30. # openssl req -noout -text -in server.csr # Информация запроса
  31. # openssl s_client -connect cb.vu:443 # Проверить сертификат Веб сервера
  32. openssl s_client -cert server_cert.pem -key server_key.pem -connect mpi.bspb.ru:5443
  33.  
  34. # Проверить OCSP верификацию на домене с сертификатом
  35. echo QUIT | openssl s_client -servername img.new-nn.ru -connect img.new-nn.ru:443 -CAfile startssl-ca-certs.pem -tls1 -tlsextdebug -status
  36. echo QUIT | openssl s_client -servername lk.callback.club -connect lk.callback.club:443 -CAfile startssl-ca-certs.pem -tls1 -tlsextdebug -status
  37.  
  38. # OCSP транзакция
  39. openssl ocsp -noverify -no_nonce -respout ocsp.resp -issuer ssl_callback.club.pem -CAfile startssl-ca-certs.pem -cert ssl_callback.club.crt -url http://ocsp.startssl.com/sub/class1/server/ca -header «HOST» «ocsp.startssl.com»
  40.  
  41. # OCSP проверка по серийному номеру сертификата
  42. openssl ocsp -issuer startcom_sub.class1.server.ca.pem -CAfile startssl-ca-certs.pem -url http://ocsp.startssl.com/sub/class1/server/ca/ -serial 0x05A4C27C138085 -text -header «HOST» «ocsp.startssl.com»
  43.  
  44. # OCSP проверка по сертификату
  45. openssl ocsp -issuer startcom_sub.class1.server.ca.pem -CAfile startssl-ca-certs.pem -cert ssl_callback.club.crt -url http://ocsp.startssl.com/sub/class1/server/ca/ -text -header «HOST» «ocsp.startssl.com»
  46.  
  47. wget https://www.startssl.com/certs/ca-sha2.pem
  48. wget https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem
  49.  
  50. # правильный trusted_certificate PEM для OCSP запросов (директива в nginx ssl_trusted_certificate )
  51. cat startssl_ca-sha2.pem startcom_sub.class1.server.sha2.ca.pem startcom_aia-ca-sha2.pem > startssl-ca-certs.pem
  52. # или
  53. cat startssl_ca-sha2.pem startcom_sub.class1.server.sha2.ca.pem startcom_aia-ca-sha2.pem startcom_aia-sub-ca.pem > ca-certs.pem
  54. # или просто так
  55. cat startcom_sub.class1.server.sha2.ca.pem startssl_ca-sha2.pem > startssl-ca-certs.pem
  56.  
  57. # nginx.conf
  58. ssl_trusted_certificate /etc/nginx/ssl/startssl-ca-certs.pem;
  59. # Програмный raid массив
  60. http://www.lissyara.su/articles/freebsd/tuning/software_raid1/
  61.  
  62. # Shared memory
  63. ipcs -M
  64.  
  65. # сохранить пароль от ssh ключа в своем акаунте
  66. ssh-add -K
  67. # And to store the passphrase for a different key run:
  68.  
  69. ssh-add -K /path/to/private/key/file
  70. # When prompted for your passphrase enter it and that is it.
  71. # You will never need to run ssh-add nor enter your passphrase again.
  72.  
  73. $ xattr s.7z
  74. com.apple.metadata:kMDItemWhereFroms
  75. com.apple.quarantine
  76. and use the -d option to delete one extended attribute:
  77.  
  78. $ xattr -d com.apple.quarantine s.7z
  79. $ xattr s.7z
  80. com.apple.metadata:kMDItemWhereFroms
  81. you can also use the -c option to remove all extended attributes:
  82.  
  83. $ xattr -c s.7z
  84. $ xattr s.7z
  85.  
  86. # редактирование юзверя
  87. vipw
  88.  
  89. # создать много директорий сразу
  90. mkdir /var/www/{adminka.example.com,adminka.example.com/htdocs,adminka.example.com/htdocs/{otherpass,listed}
  91. # аналогична команде
  92. mkdir /var/www/adminka.example.com
  93. mkdir /var/www/adminka.example.com/htdocs
  94. mkdir /var/www/adminka.example.com/htdocs/otherpass
  95. mkdir /var/www/adminka.example.com/htdocs/listed
  96.  
  97. # переименовать быстро файл insurenn_ru —> insurenn_ru.conf
  98. mv insurenn_ru{,.conf}
  99.  
  100. # скопировать все файлы из /lib/libnss_dns/*, /lib/libnss_files/*, /lib/libnss_compat/* —> /chroot/lib/
  101. cp -a /lib/libnss_{dns,files,compat}* /chroot/lib/
  102.  
  103. # алтернативный DNS сервер google-public-dns-a.google.com (8.8.8.8)
  104. // проверить и исправить ошибки на диске
  105. fsck -fy /dev/ad1s1d
  106.  
  107. // открыть вторую консоль (вкладку)
  108. # Alt+F2
  109.  
  110. // скопировать логи
  111. application/logs/talklog/2011/02/*.txt
  112.  
  113. // перекодировать все файлы из cp1251 в utf-8
  114. recode -f windows-1251..UTF-8 *.html
  115.  
  116. // http://www.freebsd.org.ru/how-to/w2w.html
  117. // Под пользователем root выполняем серию из команды pax (по одной на каждую файловую систему), например:
  118. # cd / ; pax -p eme -X -rw . /mnt/root
  119. # cd /var; pax -p eme -X -rw . /mnt/var
  120. # cd /usr; pax -p eme -X -rw . /mnt/usr
  121.  
  122. // статистика по винту + серийный номер
  123. smartctl -i /dev/ad4
  124.  
  125. // найти рекурсивно все html файлы в папке fibo и перекодировать их в utf-8
  126. find ./fibo -name «index.html» -size +2k -exec recode CP1251..UTF-8 {} \;
  127.  
  128. // Ищем все файлы окончивающиеся на .svn Теперь мы отдаем нужные файлы команде xargs, которая вызывает rm -Rf и в качестве параметров использует свой stdin построчно. Задача решена.
  129. find . | grep -e ‘/.svn$’ | xargs rm -Rf
  130.  
  131. // Ищем файлы измененные 1 день назад, ошибки типа pemision denied отправляем в /dev/null
  132. find ./ -mtime -1 -type f 2> /dev/null
  133.  
  134. // Поиск вируса на php http://habrahabr.ru/company/sprinthost/blog/125839/
  135. // поиск base64 строки
  136. find ./ -name ‘*.php’ | xargs grep -irE ‘[0-9a-zA-Z/]{80}’
  137.  
  138. // Найти в cp1251 текст и перекодировать его на лету в utf-8
  139. find . -name ‘*.txt’ -print | xargs iconv -f cp1251 -t utf8 | grep жестокий_АнГеЛ
  140.  
  141. // wget нескольких файлов
  142. xargs wget << EOF
  143. «http://ajax.aspnetcdn.com/ajax/jquery.ui/1.11.1/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png»
  144. «http://ajax.aspnetcdn.com/ajax/jquery.ui/1.11.1/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png»
  145. «http://ajax.aspnetcdn.com/ajax/jquery.ui/1.11.1/themes/start/images/ui-bg_glass_45_0078ae_1x400.png»
  146. «http://ajax.aspnetcdn.com/ajax/jquery.ui/1.11.1/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png»
  147. EOF
  148.  
  149. // отправить текущий процесс в фон
  150. Ctrl-Z
  151. #bg
  152. // Вернуть процесс из фона
  153. #jobs
  154. #fg <id_job>
  155.  
  156. пишешь под рутом команду vtysh
  157. [20.07.2010 23:50:00] Игорь Quake: потом пишешь show ip bgp
  158. [20.07.2010 23:50:07] Игорь Quake: там видны маршруты загруженные
  159. [20.07.2010 23:50:15] Игорь Quake: show ip bgp neighbor 95.79.29.11
  160. [20.07.2010 23:50:19] Игорь Quake: сразу показывает инфо
  161. [20.07.2010 23:50:46] Игорь Quake: router.newnn.ru# show ip bgp neighbor 95.79.29.11
  162.  
  163. # Текущие маршруты
  164. netstat -rn
  165.  
  166. # Что слушает сервер
  167. netstat -an -f inet | grep LISTEN
  168. sockstat -l | grep sshd
  169. sudo netstat -nlp
  170.  
  171. # Что слушает процесс php
  172. lsof -Pni4 | grep LISTEN | grep php
  173.  
  174. # Показать топ программ использующих интернет, сортированные по типу и протоколу соединений
  175. sudo lsof -P -i -n | awk ‘{print $1,$5,$8}’ | tail -n +2 | uniq -c | sort -nr
  176.  
  177. # Топ программ укоторых больше всего открыто файловых десктрипторов
  178. sudo lsof | awk ‘{print $1,$2}’ | tail -n +2 | sort | uniq -c | sort -nr
  179.  
  180. # Топ директорий в которых больше всего файлов
  181. find / -type d | ( while read A; do B=ls -l "$A" 2> /dev/null | wc -l; echo $B $A; done) | sort -n
  182. # Посмотреть MX записи домена
  183. nslookup -q=mx sendmail.ru.
  184.  
  185. // Удаление зависших процессов mysql
  186. $ mysql -u USER -p
  187. show processlist;
  188. Узнать идентификатор тяжелого запроса.
  189. kill query 12345;
  190. где 12345 заменить на идентификатор запроса.
  191.  
  192. // Сколько свободного места в папке
  193. du -sh foldername
  194.  
  195. # netstat -tap | grep memcached
  196.  
  197. # http://www.freebsd.org/doc/ru/books/handbook/book.html
  198. # http://hottab.ru/hosting/eaccelerator-i-freebsd-can-not-create-shared-memory-area/
  199. # Посмотреть текущее значение параметра SHMMAX на Вашей системе можно используя команду ipcs.
  200. serv# ipcs -M
  201. shminfo:
  202. shmmax: 33554432 (max shared memory segment size)
  203. shmmin: 1 (min shared memory segment size)
  204. shmmni: 192 (max number of shared memory identifiers)
  205. shmseg: 128 (max shared memory segments per process)
  206. shmall: 8192 (max amount of shared memory in pages)
  207.  
  208. # по мотивам http://www.lcnsoft.ru/index.php/Primery-ispol-zovaniya-tcpdump.html
  209. # Показать все данные + HEX + ACSI на интерфейсе msk0, если запрос идет с или на 212.24.48.146
  210. # -w output.txt записать в файл output.txt, -r output.txt — считать из файла
  211. # -s 0 все пакеты как один
  212. # -n не преобразовать ip в хосты, и порты в их имена
  213. # -X записывать пакет со всем содержимым
  214. tcpdump -n -X -s 0 -i msk0 src host 212.24.48.146 or dst host 212.24.48.146
  215.  
  216. # показать все пакеты входящие на eth1 пакеты по RTP протоколу в сеть 10.99.1.0/24
  217. tcpdump -n -nn -i eth1 proto 4 and net 10.99.1.0/24
  218.  
  219. # показать цепочку сработавших правил
  220. iptables -t mangle -L -nv
  221.  
  222. # Подсчет количества соединений с одного IP
  223. netstat -aS | grep «213.219.245.111.http» | awk ‘{print $5}’ | cut -d’.’ -f1,2,3,4 | sort | uniq -c | sort -nr
  224.  
  225. # Узнать номер интерфейса по IP
  226. ip a show to 10.99.1.1 | grep -v ‘inet’ | awk ‘{print $1}’ | cut -d ‘:’ -f1
  227.  
  228. # Посмотреть кто засирает внешний канал в локалке кроме роутера 🙂
  229. trafshow -n -i re1 ‘dst net 192.168.1.0/24 and not 192.168.1.100/32’
  230.  
  231. # DNS записи — посмотреть все dns записи домена
  232. dig @ns3.fastvps.ru any zz-33.ru
  233.  
  234. #/usr/ports/net/wireshark программа анализатор трафика
  235.  
  236. // Отправить письмо mail с атачем из консоли
  237. $ echo «Смотри вложение» | mutt -x -s «метод 3» -a image.jpg [email protected]
  238. Проблемное приложение можно отловить с помощью
  239. Полученный вывод предоставит список процессов, а также нужную информацию: потребление процессора, памяти, состояние
  240. # ps axfu
  241.  
  242. watermark
  243. composite -gravity southeast -dissolve 75 $WATERMARK «${ GET_DIR}/*.png» «${TARGET_DIR}/*.png»
  244.  
  245. # netstat -n | awk ‘/^tcp/ {t[$NF]++}END{for(state in t){print state, t[state]}}’
  246. TIME_WAIT 8z
  247. ESTABLISHED 118222
  248.  
  249. # Бекап и передача файлов между серверами на лету
  250. # На втором сервере запускается команда, которая будет принимать поток данных и передавать его на STDIN в tar (опция ‘-’):
  251. server2$ nc -l 12345 | tar xvzf —
  252.  
  253. # На первом сервере запускается процесс создания архива с выдачей разультата в STDOUT, который передаётся через nc на на второй сервер, где tar уже приготовлен к приёму потока данных:
  254. server1$ tar cvzf — /home/user/directory | nc host_server2 12345
  255.  
  256. # Таким способом мне удалось перелить без остановки работы сервисов на другой сервер
  257. # таблицу размером в 60Gb и 400 млн строк где то за 12 часов.
  258.  
  259. # перелить базу данных на другой сервер
  260. mysqldump -h host1 db users —single-transaction -ecQ | pv | mysql -h host2
  261. # или так
  262. mysqldump —opt -Q -h localhost -u root —databases gelios52 —add-drop-table —single-transaction -ecQ | pv | mysql -u root
  263. # Извлечь архив .tar.lzma
  264. lzma -dc mc-4.7.5.tar.lzma | tar -xvf —
  265.  
  266. # создать tar архив показывая процесс
  267. tar cvzf zend.tar.gz Zend/
  268.  
  269. # распаковать из архива папку
  270. tar xvzf zend.tar.gz ./Zend
  271.  
  272. # распаковать в папку
  273. tar -xzf archive.tar.gz -C myfolder
  274. # создать архив файлов которые были изменены 1 день назад
  275. find ./ -mtime -1 -type f -print0 | tar c —null -T — > 52realty_22072012.tar
  276. Дополнение:Как заметил в комментариях Alexey, упаковать найденные find файлы можно и используя tar.
  277. В этом случае используется опции tar -T (читать список файлов из файла) и —null (имена файлов разделены нулевым байтом). Поясняю на примере, создание зашифрованного архива:
  278. $ find . условия поиска -print0 | tar c —null -T — | gpg -c -a > файл_с_архивом.tar.gpg
  279. и распаковка:
  280. $ gpg -d файл_с_архивом.tar.gpg | tar x
  281.  
  282. # В общем, дело вкуса.
  283.  
  284. # ищет все файлы .jpg, сортирует и выводит в html теге img src
  285. find images/screenshot/ -name «*.jpg» -printf ‘<img src=»%p» alt=»» />\n’ | sort
  286.  
  287. # ище везде кроме папки upload, bitrix/cache и bitrix/managed_cache
  288. find ./ \( -path ./upload -o -path ./bitrix/cache -o -path ./bitrix/managed_cache \) -prune -o -print
  289.  
  290. # копировать локальный файл на удаленный сервер
  291. scp SourceFile user@host:/directory/TargetFile
  292. # сделать архив к себе с удаленного сервера папку, к которой права есть только через su root
  293. # интерпретатор попросит ввести пароль 2 раза, архивация произойдет через поток stderr, который на выходе мы и поймаем tar’ом =)
  294. # не разобрался как убрать из arc.tar первую строку tar: removing leading ‘/’ from member names, там старый tar не поддерживает опцию -P
  295. ssh -p 8022 [email protected] -C ‘su root -c «tar cf — /mnt/rw 1>&2″‘ 2> arc.tar && cat arc.tar | sed ‘1d’ | tar xfv —
  296. // benchmark
  297. [root@m9-vdnh /]# siege -c 1 -b -t 1m http://news.m9-vdnh.newnn.ru/ >/dev/null
  298. Recently I experienced following error:
  299. $ screen -r
  300. Cannot open your terminal ‘/dev/pts/0’ — please check.
  301. After searching for solution I found several instructing to change permissions etc.
  302. But different solution, almost “hack” is the one I like.
  303. Before starting screen type:
  304. script /dev/null
  305. And after that you can type:
  306. screen -r
  307.  
  308. # ddos log
  309. tail -f /home/sites/logs/access.nginx.log | awk ‘{print $1,$3,$5,$6,$7,$8,$12}’
  310.  
  311. # mysql cron queries
  312. mysql -u newnn -p -D newnn_blog -e «DELETE FROM blog_themes WHERE id_user=40367;»
  313.  
  314. # сделать dump базы данных database_name в файл filename.sql, username — имя пользователя к базе данных, dump которой вы хотите сделать.
  315. mysqldump —opt -Q -u username -ppassword database_name > filename.sql
  316.  
  317. # сделать дамп таблицы table1
  318. mysqldump —opt -Q -u username -ppassword —databases database_name —tables table1 table2> filename.sql
  319.  
  320. # сделать dump базы в фоне
  321. mysqldump —opt -Q -u username -ppassword —databases database_name 2> /dev/null > database_name.sql &
  322.  
  323. # Сделать дамп базы MyIsam без блокировки таблиц и таблицы большого объема
  324. mysqldump —opt -Q —lock-tables —lock-all-table —quick —skip-comments -u root —databases tixen > tixen.sql
  325.  
  326. # Сделать дамп определенных таблиц и запаковать в gzip
  327. mysqldump —opt -Q —lock-tables —lock-all-table —quick —skip-comments -u root —databases tixen —tables table1 table2 | gzip > dump.sql.gz
  328.  
  329. # Распаковать gz дамп и загрузить в БД
  330. zcat tixen.sql.gz | mysql -u root -D tixen
  331.  
  332. # сделать dump базы к себе с удаленной машины
  333. ssh [email protected] ‘mysqldump —opt -Q -u user -ppassword db_name —single-transaction -ecQ’ > filename.sql
  334.  
  335. # распаковать dump из файла filename.sql в базу данных database_name, username — имя пользователя к базе данных, в которую вы хотите распаковать dump.
  336. mysql -u username -ppassword database_name < filename.sql
  337.  
  338. # Сделать дамп SELECT запроса
  339. mysql -u root tixen -e «CREATE TABLE Traffic1 select * from tixen.Traffic where start_time >= ‘2014-11-01 00:00:00’ AND start_time <= ‘2014-11-31 23:59:59’;»
  340. mysqldump —opt -Q —lock-tables —lock-all-table —quick —skip-comments -u root —databases tixen —tables Traffic1 | gzip > Traffic1.sql.gz
  341.  
  342. # применить кучу sql файлов в директории по очереди и импортировать их в базу
  343. find *.sql -type f -print | xargs -n 1 cat | mysql -f -u root -D kmut2
  344.  
  345. # тоже самое но нажимать enter перед каждым импортом sql файла
  346. for patch in ls | sort; do echo «— $patch —«; read; cat $patch | mysql -f -u root tixen; echo «— end patch —«; done;
  347.  
  348. # вывод из директории все имена файлов
  349. for patch in ls | sort; do echo «$patch»; done;
  350. # выбрать из всех логов первую строчку и вывести уникальные ip из нее
  351. find /var/log/nginx/ -type f -mtime -1 -print | xargs -n 1 head -n 1 | awk ‘{print $1}’ | uniq -c
  352.  
  353. # найти файлы .git_mark и удалить их из git (git rm)
  354. find . | grep -e ‘/.git-mark$’ | xargs git rm -rf
  355.  
  356. # конветировать число в двоичную систему
  357. echo ‘obase=2;255’ | bc
  358. # 11111111
  359. # или так
  360. printf «obase=2;%d\n» 255 | bc
  361. # а теперь через xargs в потоке
, считываем из файлы сортируем и конвертируем
  362. cat nfUtilTosed.txt | tr -d » » | sort -n | uniq | xargs -I ^ printf «$1 obase=2;%d\n» ^ | bc
  363.  
  364. # работа с базой database_name через командную строку. В этом режиме можно выполнять команды MySQL. Обратите внимание на то, что команда обязательно должна заканчиваться символом «;», иначе выполнена она не будет.
  365. mysql -u username -ppassword database_name
  366.  
  367. # Обновление timezone в mysql
  368. mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
  369. #или
  370. mysql_tzinfo_to_sql /usr/share/zoneinfo/ > mysql_tzinfo.sql
  371. mysql -u root -p mysql < mysql_tzinfo.sql
  372.  
  373. # добавить юзера
  374. adduser
  375.  
  376. # addgroup
  377. pw groupadd admin # FreeBSD создать группу, используя утилиту pw
  378. pw groupmod admin -m newmember # FreeBSD добавить нового участника в группу
  379. pw useradd colin -c «Colin Barschel» -g admin -m -s /bin/tcsh # FreeBSD создать пользователя (утилита pw)
  380. pw userdel colin; pw groupdel admin # FreeBSD удалить пользователя и группу (утилита pw)
  381.  
  382. # Добавить юзера в группу
  383. usermod -G {имя группы} {имя нового пользователя}
  384.  
  385. # редактирование юзерей
  386. vipw
  387.  
  388. # редактирование групп
  389. ee /etc/group
  390.  
  391. # запускать команду в конкретном процессоре
  392. cd ~wwwchat && xargs -P 2 -J /bin/pax -p eme -rw . /backup/chat.newnn.ru
  393.  
  394. # статус жетских дисков
  395. iostat
  396.  
  397. # виртуальная память
  398. vmstat
  399.  
  400. # запись демки в screen и проигрывание
  401. # Для того чтобы включить запись нужно нажать в запущенном screen-е Ctrl-a H,
  402. # а для завершения записи достаточно повторно нажать данное сочетание клавиш.
  403. # Screen запишет все в файл screenlog.n, где n — целое число соответствующее номеру окна Screen.
  404.  
  405. time=0.1
  406. rows=wc -l screenlog.1 | awk '{print $1}'
  407. for i in seq 1 $rows; do head -$i screenlog.1 | tail -1; sleep $time; done ;
  408. reset
  409.  
  410. # слежение за активностю окна в screen
  411. Ctrl-a M включить
  412. Ctrl-a _ выключить
  413.  
  414. # Показать кто приконнектился к ssh (IP)
  415. lsof -ni | grep ssh
  416.  
  417. # какие библиотеки требуются для запуска бинарного скрипта
  418. ldd /home/user/check_http
  419.  
  420. # SED После этого меняем порт у всех ранее созданных виртуальных хостов
  421. sed -ie ‘s/YOUR-IP:80/YOUR-IP:82/g’ /etc/apache2/sites-available/*.vhost
  422. mkdir /root/apache2_vhost_backup/
  423. mv /etc/apache2/sites-available/*.vhoste /root/apache2_vhost_backup/
  424.  
  425. # проверить на вирусы linux
  426. Ну сканированием clamscan /
  427. Или как подсказали в комментариях chkrootkit
  428.  
  429. # синхронизировать папку
  430. rsync -rlpcgo —delete-excluded -n -v src/ dst/ | /root/bin/backup/rsync_copy.php src/ | tar -cf test.tar -T —
  431.  
  432. # синхроинизиовать по ssh с удаленной машиной
  433. rsync -av -e ssh —delete [email protected]:/home/gelios52/ /home/m9_vdnh/home/gelios52/
  434.  
  435. mergemaster -iFU не нажимать > 9000 раз кнопочку i для установки файлов конфигов в которых сменилась только строка с версией cvs.
  436.  
  437. В практически любой системе мониторинга (проверено на Nagios, Zabbix, Remstats, Ganglia, Zenoss — с трудом представляю систему, где этого не было бы) есть возможность выполнить внешнюю программу и результат ее выполнения (exit status, если мы собираем данные «сломалось-нет» или вывод в stdout) зарегистрировать как значение некоторого параметра в мониторинге.
  438.  
  439. mysql -u netload -pqNnrCwSJGd3sw7PH -D netload -e «SELECT CONCAT(CHAR(’34’),INET_NTOA(begin_ip)) as begin_ip, INET_NTOA(end_ip) as end_ip, begin_ip, CONCAT(end_ip, ‘ RU_NN Russia_Nizhniy_Novgorod’, CHAR(’34’)) as end_ip FROM net_ru_2 WHERE city_id = 41627 LIMIT 100″ | awk ‘{print $1, $2, $3, $4, $5, $6}’ | sed ‘s/ /\»,\»/g’ > geo_net_ru_2.txt
  440. MYSQL хранимая функция для преобразования IP_FROM — IP_TO -> в ip/mask
  441. CREATE FUNCTION deaggregate_ip_range(begin_ip BIGINT(20), end_ip BIGINT(20)) RETURNS varchar(20) CHARSET utf8
  442. DETERMINISTIC
  443. BEGIN
  444.  
  445. DECLARE thirtytwobits BIGINT(20);
  446. DECLARE base BIGINT(20);
  447. DECLARE step INT;
  448. DECLARE flag_stop TINYINT(1);
  449.  
  450. SET thirtytwobits=4294967295;
  451. SET base=begin_ip;
  452. SET flag_stop = 0;
  453. WHILE(base <= end_ip) DO
  454. SET step=0;
  455. WHILE (!flag_stop AND (base | (1 << step)) != base) DO
  456. IF ((base | (((~0) & thirtytwobits) >> (31-step))) > end_ip) THEN
  457. SET flag_stop = 1;
  458. END IF;
  459. IF (!flag_stop) THEN
  460. SET step = step + 1;
  461. END IF;
  462. END WHILE;
  463. RETURN CONCAT(INET_NTOA(base), «/», 32-step);
  464. SET base = base + (1 << step);
  465. END WHILE;
  466.  
  467. RETURN 0;
  468.  
  469. END//
  470. SELECT prefix2mask(SUBSTRING(ipmask, LOCATE(‘/’, ipmask) + 1)) FROM net_city_ip WHERE 1
  471.  
  472. UPDATE net_country_ip SET network = INET_ATON(SUBSTRING(network2, LOCATE(‘/’, network2) + 1))
  473.  
  474. SELECT INET_ATON(prefix2mask(SUBSTRING(network2, LOCATE(‘/’, network2) + 1))) FROM net_country_ip
  475.  
  476. SELECT INET_ATON(SUBSTRING(network2, 1, LOCATE(‘/’, network2) — 1)) FROM net_country_ip
  477.  
  478. // преобразовать dbf в mysql
  479. #mydbf2mysql -I —insert-pool 100 -u gelios52 -U /tmp/mysql.sock -P q2dFENMejCvLy64V -D gelios52 -S NAME,SOCR,CODE,INDEX,GNINMB,UNO,OCATD,STATUS -F NAME,SOCR,CODE,INDEX,GNINMB,UNO,OCATD,STATUS -f KLADR.DBF -T KLADR__KLADR
  480. # Настройка почтовика postfix и dkim
  481. http://www.prado.it/2012/04/26/how-to-run-postfix-with-opendkim-on-freebsd-9-0/
  482.  
  483. /etc/aliases — перенаправление локальной почты на внешку
  484. postalias /etc/aliases — применение изменений
  485.  
  486. # gpg -c file # Зашифровать файл по паролю
  487. # gpg file.gpg # Расшифровать файл ( -o другой файл)
  488.  
  489. в Midnight Commander-е: в нем длЯ выделениЯ файлов можно воспользоватьсЯ сочитанием клавиш Ctrl+T.
  490. # браузер lynx запуск с прокси
  491. http_proxy=http://127.0.0.1:3128 lynx -cookie_file /root/cookies.txt -cookie_save_file /root/cookies.txt -accept_all_cookies «http://market.yandex.ru»
  492.  
  493. # интерператор js в консоле
  494. fantomjs index.html main.js
  495.  
  496. # установка rhodecode
  497. mkdir ~/rhodecode && cd ~/rhodecode
  498. curl -O https://legacy.rhodecode.com/dl/rhodecode-installer.py
  499. sudo python rhodecode-installer.py
  500. # сравнений версий в debian
  501. if dpkg —compare-versions «1.0.2-67» lt «1.0.2-68»; then echo 1; fi;
  502.  
  503. # если приатачено 2 скрина
  504. # How do you detach the 2nd screen from within another screen? http://unix.stackexchange.com/questions/29140/how-do-you-detach-the-2nd-screen-from-within-another-screen
  505. # Выходим из второго
  506. ctrl-a a d
  507. # Вот так удалось удалить нахрен вирус который самозапускался каждые 4 сек из папки /boot
  508. # смотрим строковые значение в бинарнике
  509. strings /boot/имя_файла
  510.  
  511. # смотрим что делает процесс
  512. strace -p номер процесса
  513.  
  514. # смотрим что делает команда
  515. strace -f php /usr/share/tixen/batch/day-payments.php 2015-02-01 2015-02-28 2
  516.  
  517. # если процесс падает в Segmentation fault, то
  518. ulimit -c 65000
  519. получаем core файл
  520. gdb -c core /usr/bin/php
  521. # видим stack trace на чем процесс застопорился
  522. bc
  523. # убиваем все процессы размером 1504 байта в %Mem лежащие в папке /boot/
  524. ps auxfwww | grep 1504 | grep -v grep | awk ‘{print $2}’ | xargs kill -9 && rm /boot/*
  525.  
  526. # далее чистим все дерьмо что было изменено за последнии 10 мин
  527. find /etc/ -cmin -10
  528.  
  529. # а так же файл
  530. rm /lib/udev/udev
  531.  
  532. # mac os x открыть терминал COM порта на скорости 38400
  533. screen /dev/cu.PL2303-00001014 38400
  534.  
  535. # показать счетчики по таблицам
  536. iptables -t mangle -L -nv
  537. ; очистить счетчики
  538. iptables -t mangle -Z
  539.  
  540. # multine line read in bash
  541. while read -r line
  542. do
  543. echo «$line»
  544. done < <(jobs)
  545.  
  546. #To read a multiline variable, a simple way is:
  547. printf %s «$var» | while IFS= read -r line
  548. do
  549. echo «$line»
  550. done
  551.  
  552. # сравнение твоего конфига с дефолтным, сразу покажет каких строчек не хватает или какие надо поменять
  553. diff -d etc/kmut2/kmut2.conf.sample etc/kmut2/kmut2.conf
  554. # Массовое удаление таблиц из списка
  555.  
  556. SELECT CONCAT(‘DROP TABLE ‘, TABLE_NAME , ‘;’)
  557. FROM INFORMATION_SCHEMA.TABLES
  558. WHERE TABLE_SCHEMA=’akadem10ru’
  559. AND TABLE_NAME IN (‘Table1’, ‘Table2’)
  560. # Массовое перемещение найденных файлов
  561. find -type f -exec cp -f {} ~/ceramica-elite.ru/public_html/published/publicdata/CERAMICADATA/attachments/SC/products_pictures/ \;
  562. # восстанавливает все удаленные файлы из git’a
  563. git ls-files -d | xargs git checkout —
  564. # восстанавливает вообще все файлы измененные и удаленные
  565. git checkout — ‘*’
  566. # узнать IP адрес и порт с которого зашел на ssh
  567. echo $SSH_CONNECTION
  568.  
  569. # генерация конфига symfony БД из mysql
  570. app/console doctrine:mapping:import NatKingcallerLkBundle yml
  571.  
  572. # генерация всех моделей из БД symfony 2
  573. app/console doctrine:generate:entities NatKingcallerLkBundle —path=src/
  574.  
  575. # разбан iptables для fail2ban
  576. iptables -L fail2ban-ssh
  577. # выведет список банов
  578. # потом нужный удалить (вместо № — число из предыдущего списка)
  579. iptables -D fail2ban-ssh №
  580. # настройка DKIM
  581. mkdir /etc/postfix/dkim/kingcaller.com/
  582. opendkim-genkey -D /etc/postfix/dkim/kingcaller.com/ -d kingcaller.com -s default
  583. chown -R opendkim:opendkim /etc/postfix/dkim/kingcaller.com/
  584. nano /etc/opendkim.conf
  585. nano /etc/postfix/dkim/KeyTable
  586. nano /etc/postfix/dkim/SigningTable
  587. nano /etc/postfix/dkim/kingcaller.com/default.private
  588. nano /etc/postfix/dkim/kingcaller.com/default.txt
  589. /etc/init.d/postfix reload
  590.  
  591.  
Add Comment
Please, Sign In to add comment