>>> Загрузка Open/Free/NetBSD
Загрузка в Однопользовательском режиме (Single User Mode)'boot: -s' затем 'fsck -p / && mount -u /' и 'fsck -p /usr && mount -u /usr'
>>> Загрузка Linux
Single User Mode (Однопользовательский режим)'boot: linux -s' (можно сменить пароль root-а) 'boot: linux init=/bin/sh' далее: 'mount -n -o remount -t ext2 /dev/hda2 /'
>>> Загрузка Linux через загрузчик Grub
Если повреждены системные файлы загрузки linux'c' - для перехода в командный режим grub. 'find /boot/grub/stage1' - поиск root-овой партиции выдаст что-то вроде этого: (hd0,0) это значение и надо ввести следующую команду: 'root (hd0,0)' далее: 'kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/hda1' или вот так: 'kernel /boot/vmlinuz-2.4.18-3 ro root=LABEL=/' 'boot' - загрузиться с указанными параметрами
>>> Загрузчик lilo
Восстановление загрузчика из фала /boot/boot.0300 - предыдущего состояния boot-сектора[root@elis /root]# lilo -s boot.0300 -U /dev/hda
>>> Смена режима дерева каталогов
find . -type d -exec chmod g+s {} \;
>>> Файловые системы
Строка в файле настройки файловых систем /etc/fstab/dev/hda1 /mnt/win vfat noexec,rw,umask=002,codepage=866,iocharset=koi8-r,gid=100 0 0аналогична команде:
[root@home root]mount /dev/hda1 /mnt/win -t vfat -o codepage=866,iocharset=koi8-r
Монтирование по nfs файловой системы с 172.18.94.26 к каталогу /mnt/nfs
[root@grossb nfs]#mount -t nfs 172.18.94.26:/ /mnt/nfs
Отмонтирование файловой системы от каталога /mnt/nfs
[root@grossb nfs]#umount /mnt/nfs
>>> Скрипт добавления в iptables (shrek.technet)
#!/bin/bash # /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.9 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.10 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.11 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.12 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.13 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.14 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.15 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.16 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.17 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.18 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.19 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -A POSTROUTING -s 172.18.1.20 -j SNAT --to-source 81.176.142.134
>>> Скрипт удаления из iptables (shrek.technet)
#!/bin/bash # /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.9 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.10 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.11 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.12 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.13 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.14 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.15 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.16 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.17 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.18 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.19 -j SNAT --to-source 81.176.142.134 /sbin/iptables -t nat -D POSTROUTING -s 172.18.1.20 -j SNAT --to-source 81.176.142.134
>>> Скрипт добавления samba-пользователя
[root@grossb /root]# less /usr/local/bin/useraddprice #!/bin/bash # Add User for Price task TAB=$1 if [ ${#TAB} != 8 ]; then # echo "$TAB less or more that 8" # echo "" echo "usage: useraddprice tabno" echo " adduserprice tabno" echo "" echo " tabno - 8 digits" exit 1 fi TABDIR=/data/tasks/tabs DIR1=${TAB:0:2} DIR2=${TAB:5:3} TABNAME=tab$TAB HOMEDIR=/home/elis if [ ! -d $TABDIR ]; then echo "Make directory $TABDIR" /bin/mkdir $TABDIR; else echo "Directory $TABDIR already exist" fi if [ ! -d $TABDIR/$DIR1/$TAB/$DIR2 ]; then echo "Make directory $TABDIR/$DIR1/$TAB/$DIR2" /bin/mkdir -p $TABDIR/$DIR1/$TAB/$DIR2 else echo "Directory $TABDIR/$DIR1/$TAB/$DIR2 already exist" fi /bin/chmod 750 -R $TABDIR/$DIR1/$TAB/ /bin/echo "Add User $TAB for Price task" /usr/sbin/useradd $TABNAME -g elis -d $HOMEDIR -s /sbin/nologin -p 1234567 /usr/bin/passwd -d $TABNAME /usr/bin/smbpasswd -a $TABNAME 1234567 /usr/bin/smbpasswd -n $TABNAME if [ -d $TABDIR/$DIR1/$TAB ]; then cd $TABDIR/$DIR1/$TAB echo "Current Directory is $PWD" printf "IF NOT EXIST z:\%bbin\z32.exe net use z: \%b\%bgrossb.it.ru\%btasks\n" >z32.bat printf "z:\%bbin\%bz32.exe -h z:\%bhome_l @TAB $TAB\n" >> z32.bat printf "" >> z32.bat fi if [ -d $TABDIR/$DIR1/$TAB/$DIR2 ]; then cd $TABDIR/$DIR1/$TAB/$DIR2 echo "Current Directory is $PWD" printf "IF NOT EXIST z:\%bbin\z32.exe net use z: \%b\%bgrossb.it.ru\%btasks\n" >z32cen.bat printf "z:\%bbin\%bz32.exe -h z:\%bhome_cen @TAB $TAB\n" >> z32cen.bat printf "" >> z32cen.bat fi echo "Recursive change owner for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chown $TABNAME -R $TABDIR/$DIR1/$TAB/ echo "Recursive change group for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chgrp elis -R $TABDIR/$DIR1/$TAB/ echo "Recursive change mode for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chmod u+rw -R $TABDIR/$DIR1/$TAB/ /bin/chmod g+r -R $TABDIR/$DIR1/$TAB/ /bin/chmod o-rwx -R $TABDIR/$DIR1/$TAB/
>>> Скрипт добавления samba-пользователя v.2
[root@grossb /root]# less /usr/local/bin/uzeraddprice #!/bin/bash # Add User for Price task TAB=$1 if [ ${#TAB} != 8 ]; then # echo "$TAB less or more that 8" # echo "" echo "usage: useraddprice tabno" echo " adduserprice tabno" echo "" echo " tabno - 8 digits or letter 'Z' + 7 digits" exit 1 fi LETTER=${TAB:0:1} if [ "$LETTER" = "Z" ] then TABNAME=tabz${TAB:1:7} else TABNAME=tab$TAB fi TABDIR=/data/progs/tasks/tabs DIR1=${TAB:0:2} DIR2=${TAB:5:3} HOMEDIR=/home/elis if [ ! -d $TABDIR ]; then echo "Make directory $TABDIR" /bin/mkdir $TABDIR; else echo "Directory $TABDIR already exist" fi if [ ! -d $TABDIR/$DIR1/$TAB/$DIR2 ]; then echo "Make directory $TABDIR/$DIR1/$TAB/$DIR2" /bin/mkdir -p $TABDIR/$DIR1/$TAB/$DIR2 else echo "Directory $TABDIR/$DIR1/$TAB/$DIR2 already exist" fi /bin/chmod 750 -R $TABDIR/$DIR1/$TAB/ /bin/echo "Add User $TAB for Price task" /usr/sbin/useradd $TABNAME -g tabuser -d $HOMEDIR -s /sbin/nologin -p 1234567 /usr/bin/passwd -d $TABNAME /usr/bin/smbpasswd -a $TABNAME 1234567 /usr/bin/smbpasswd -n $TABNAME if [ -d $TABDIR/$DIR1/$TAB ]; then cd $TABDIR/$DIR1/$TAB echo "Current Directory is $PWD" printf "IF NOT EXIST z:\%bbin\z32.exe net use z: \%b\%bgrossb.it.ru\%btasks \n" >z32.bat printf "z:\%bbin\%bz32.exe -h z:\%bhome_l @TAB $TAB \n" >> z32.bat printf "" >> z32.bat fi if [ -d $TABDIR/$DIR1/$TAB/$DIR2 ]; then cd $TABDIR/$DIR1/$TAB/$DIR2 echo "Current Directory is $PWD" printf "IF NOT EXIST z:\%bbin\z32.exe net use z: \%b\%bgrossb.it.ru\%btasks \n" >z32cen.bat printf "z:\%bbin\%bz32.exe -h z:\%bhome_cen @TAB $TAB \n" >> z32cen.bat printf "" >> z32cen.bat fi echo "Recursive change owner for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chown $TABNAME -R $TABDIR/$DIR1/$TAB/ echo "Recursive change group for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chgrp tabuser -R $TABDIR/$DIR1/$TAB/ echo "Recursive change mode for new User Directorys: $TABDIR/$DIR1/$TAB/" /bin/chmod ug+rw -R $TABDIR/$DIR1/$TAB/ #/bin/chmod g+r -R $TABDIR/$DIR1/$TAB/ /bin/chmod o+rx -R $TABDIR/$DIR1/$TAB/ /bin/chmod o-w -R $TABDIR/$DIR1/$TAB/
>>> Скрипт архивного копирования файлов с другого сервера
>>> Команда ftpcopy
#!/bin/bash # mirror script based on ftpcopy ftpcopy \ -n -s -u alis \ -x '*grossb*' \ -x '*.exe*' \ -x '*tasks/bin*' \ -x '*.ntx*' \ grossb.it.ru /data/tasks /data/progs/tasks; ftpcopy \ -n -s -u alis \ -x '*grossb*' \ -x '*.exe*' \ -x '*tasks/bin*' \ -x '*.ntx*' \ -x '*syslog.dbf*' \ -x '*nohup.*' \ grossb.it.ru /data/progs/tasksrv /data/progs/tasksrv
>>> Файл расписаний (выполнения заданий по времени)
>>> /etc/spool/cron/root
# DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.root.1177 installed on Fri Aug 19 15:35:30 2005) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 0 * * * 1-6 /data/progs/mirror_bux_tasks 2>&1 30 * * * 1-6 /data/progs/mirror_kok_tasks 2>&1 0 16 * * 1-6 /data/files/mts/mirror_mts_bin_zserv 2>&1 15 16 * * 1-6 /data/files/sos/mirror_sos_bin_zserv 2>&1 30 16 * * 1-6 /data/files/mts/mirror_mts_tasks 2>&1 0 17 * * 1-6 /data/files/mts/mirror_mts_bases 2>&1 00 20 * * 1-6 /data/files/sos/mirror_sos_tasks 2>&1 30 20 * * 1-6 /data/files/sos/mirror_sos_bases.sip 2>&1
>>> Отправка писем одной командой
Совет: Большая часть программ, применяемых для отправки почты, подразумевает работу в интерактивном режиме, предоставляя диалоговые формы для ввода данных, будь то адрес получателя, тема или тело письма.
Однако зачастую при работе в Linux возникает необходимость автоматической отправки почтовых сообщений, в частности, при написании сценариев оболочки Linux (shell-скриптов) при удаленном администрировании Linux-серверов. В этом случае сценарий должен сам сгенерировать все письмо (например, о возникновении проблемы в самой системе) и отослать его заранее определенному получателю.
Для этого нужно воспользоваться командой mail, которая принимает текст сообщения со стандартного системного ввода, а другие параметры задаются как опции - в командной строке. Чтобы отправить письмо с текстом тестовое письмо с темой test message по адресу: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript., нужно выполнить такую команду:
echo "тестовое письмо" | mail -s "test message" Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Аналогичным способом можно в одной команде отправлять содержимое текстового файла:
cat message.txt | mail -s "get this file" Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Очевидно, что вместо cat может использоваться стандартный вывод любой другой команды. Например
who | mail -s "users" Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
отправит по адресу: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. список пользователей, находящихся в системе на момент выдачи этой команды.
Используемое во всех этих командах перенаправление вывода - одно из ключевых свойств для всех UNIX-систем. Из последовательно указанных в одной строке команд, которые передают друг другу на вход свой вывод, можно построить целый конвейер, который будет выполнять необходимую задачу, таким образом объединяя функциональность разнообразных UNIX-команд в одной команде.
Источник: http://www.chip.ua/ask/modem.html