Библиотека сайта rus-linux.net
Часть VI. Приложения
Приложение A. Советы, рекомендации и задачи администрирования
Некоторые советы в этом разделе специфичны для Linux-систем. Большинство подходит для всех UNIX-систем.
Утилита du.
Вы можете использовать утилиту du для оценки дискового пространства, занимаемого файлами. Например, чтобы определить размер в мегабайтах каталогов /var/log и /home используйте команду:
[root@deep /]# du -sh /var/log /home 3.5M /var/log 350M /home
Запомните, что вышеприведенная команда покажет текущий размер Ваших данных. Сейчас, например, Вы узнали, что /home занимает 350M, теперь Вы можете перейти внутрь его и определить, где расположены самые большие файлы:
[root@deep /]# cd /home [root@deep /home]# du -sh * 343M admin 11k ftp 6.8M httpd 12k lost+found 6.0k named 6.0k smbclient 6.0k test 8.0k www
ЗАМЕЧАНИЕ. Вы можете добавить эту команду в Ваш файл crontab, чтобы получать отчеты об использовании дискового пространства по почте.
Поиск маршрута, по которому пакеты пересылаются с Вашего компьютера на удаленный.
Если Вы хотите найти маршрут, по которому пакет следует между Вашим и удаленным компьютером, просто используйте следующую команду:
[root@deep /]# traceroute www.redhat.com traceroute to www.portal.redhat.com (206.132.41.202), 30 hops max, 38 byte packets 1 ppp005.108-253-207.mtl.mt.videotron.net (207.253.108.5) 98.584 ms 1519.806 ms 109.911 ms 2 fa5-1-0.rb02-piex.videotron.net (207.96.135.1) 149.888 ms 89.830 ms 109.914 ms 3 ia-tlpt-bb01-fec1.videotron.net (207.253.253.53) 149.896 ms 99.873 ms 139.930 ms 4 ia-cduc-bb02-ge2-0.videotron.net (207.253.253.61) 99.897 ms 169.863 ms 329.926 ms 5 if-4-1.core1.Montreal.Teleglobe.net (207.45.204.5) 409.895 ms 1469.882 ms 109.902 ms 6 if-1-1.core1.NewYork.Teleglobe.net (207.45.223.109) 189.920 ms 139.852 ms 109.939 ms 7 206.132.150.133 (206.132.150.133) 99.902 ms 99.724 ms 119.914 ms 8 pos1-0-2488M.wr2.CLE1.gblx.net (206.132.111.89) 189.899 ms 129.873 ms 129.934 ms 9 pos8-0-2488m.wr2.kcy1.globalcenter.net (206.132.111.82) 169.890 ms 179.884 ms 169.933 ms 10 206.132.114.77 (206.132.114.77) 199.890 ms 179.771 ms 169.928 ms 11 pos8-0-2488M.wr2.SFO1.gblx.net (206.132.110.110) 159.909 ms 199.959 ms 179.837 ms 12 pos1-0-2488M.cr1.SNV2.gblx.net (208.48.118.118) 179.885 ms 309.855 ms 299.937 ms 13 pos0-0-0-155M.hr2.SNV2.gblx.net (206.132.151.46) 329.905 ms 179.843 ms 169.936 ms 14 206.132.41.202 (206.132.41.202) 2229.906 ms 199.752 ms 309.927 ms
где www.redhat.com имя или ip-адрес удаленного хоста.
Как выводить на экран сколько раз обращались к Вашему веб-серверу.
Чтобы быстро вывести число обращений к Вашему веб-серверу, используйте следующую команду:
[root@deep /]# grep "GET / HTTP" /var/log/httpd/access_log | wc -l 467
Одновременная остановка большинства сервисов.
Как root Вы можете остановить несколько сервисов одновременно следующей командой:
[root@deep /]# killall httpd smbd nmbd slapd named
Вышеприведенная команда остановит Apache-сервер, Samba-сервис, LDAP-сервер и DNS-сервер соответственно.
Хотите чтобы у всех пользователей вверху терминала выводились часы?
Редактируйте файл profile (vi /etc/profile) и добавьте следующую строку:
PROMPT_COMMAND='echo -ne "\0337\033[2;999r\033[1;1H\033[00;44m\033[K"\ `date`"\033[00m\0338"'
Инсталлирована ли lsof на Вашем сервере?
Если нет, то инсталлируйте ее и выполните команду lsof -i. Вы должны получить список портов, которые открыты на Вашей машине. Программа lsof, это полезная утилита, которая говорит, какие процессы слушают на каком порту:
[root@deep /]# lsof -i COMMAND PID USER FD TYPE DEVICE NODE NAME Inetd 344 root 4u IPv4 327 TCP *:ssh (LISTEN) sendmail 389 root 4u IPv4 387 TCP *:smtp (LISTEN) smbd 450 root 5u IPv4 452 TCP deep.openna.com:netbios-ssn (LISTEN) nmbd 461 root 5u IPv4 463 UDP *:netbios-ns nmbd 461 root 6u IPv4 465 UDP *:netbios-dgm nmbd 461 root 8u IPv4 468 UDP deep.openna.com:netbios-ns nmbd 461 root 9u IPv4 470 UDP deep.openna.com:netbios-dgm named 2599 root 4u IPv4 3095 UDP *:32771 named 2599 root 20u IPv4 3091 UDP localhost.localdomain:domain named 2599 root 21u IPv4 3092 TCP localhost.localdomain:domain (LISTEN) named 2599 root 22u IPv4 3093 UDP deep.openna.com:domain named 2599 root 23u IPv4 3094 TCP deep.openna.com:domain (LISTEN)
Запуск команд на удаленном сервере без подключения к нему через протокол ssh.
Команда ssh также используется для выполнения команд на удаленной системе без подключения к ней. Результаты выполнения команды выводятся на дисплей, а контроль возвращается на локальную систему. Здесь приведен пример, который выводит всех пользователей, подключенных к системе:
[admin@deep /]$ ssh mail.openna.com who admin@mail.openna.com's password: root tty1 Dec 2 14:45 admin tty2 Dec 2 14:45 wahib pts/0 Dec 2 11:38
Завершение имени файла.
Табулирование окончания имени файла позволяет Вам вводить только часть имени. Введите начало имени файла и нажмите клавишу [TAB], имя будет завершено за Вас. Если больше, чем один файл или программа подходят, то раздастся звуковой сигнал, а затем после повторного нажатия [TAB] Вы получите список подходящих имен.
Специальные символы.
Вы можете быстро выполнить задачи, которые часто делаете, используя "быстрые клавиши": одну или больше клавиш, нажатие которых на клавиатуре выполняет задачу. Например, специальные символы могут быть использованы в Вашей командной оболочке следующим образом:
Control-d: Если Вы находитесь в командном интерпретаторе и нажмете control-d, то отключитесь от системы (logged off).
Control-l: Если Вы находитесь в командном интерпретаторе и нажмете control-l, то Вы очистите экран.
?: Это групповой символ. Он выступает как единичный символ. Если Вы зададите в командной строке что-то подобное m?b, то Linux найдет mob, mib, mub и любые другие буквы/цифры между a-z и 0-9.
*: Этот символ выступает как любые другие символы. Если Вы зададите mi*, то будет использоваться mit, mim, miiii, miya и все другие слова, начинающиеся с mi. m*l соответствует mill, mull, ml и всему, что начинается с m и заканчивается на l.
[]: Определяет диапазон. Если я запрашиваю m[o,u,i]m, то Linux определяет: mim, mum, mom, если я задаю: m[a-d]m, то это соответствует: mam, mbm, mcm, mdm. Символы [], ? и * обычно используются при копировании, удалении и просмотре каталогов.
ЗАМЕЧАНИЕ. В Linux все зависит от регистра символов. Из-за этого Bill и bill это не одно и тоже. Это позволяет хранить в одно месте разные файлы с именами Bill, bill, bIll, biLl и т. д. Так что, при работе с [], Вы должны определить заглавные буквы, если в любом имени файла они могут использоваться.