пятница, 16 мая 2008 г.

Конфиг и компиляция ядра FreeBSD

1. cd /usr/src/sys/$ARCH/conf
2. cp GENERIC MYKERN
3. ee MYKERN
4. mv MYKERN /root/kernels/
5. ln -s /root/kernels/MYKERN MYKERN
6. cd /usr/src/sys/$ARCH/conf
7. config MYKERN
8. cd ../compile/MYKERN
9. make depend
10. make
11. make install
12. shutdown -r now

среда, 14 мая 2008 г.

Консоль восстановления WinXP

С узла http://support.microsoft.com/kb/307654/ru:
Для установки консоли восстановления выполните следующие действия.
1. Вставьте компакт-диск Windows ХР.
2. Нажмите кнопку Пуск и выберите команду Выполнить.
3. В окне Открыть введите команду d:\i386\winnt32.exe /cmdcons, где d – буква дисковода компакт-дисков.
4. Появится диалоговое окно программы установки Windows с кратким описанием консоли восстановления. Чтобы подтвердить установку, нажмите кнопку Да.
5. Перезагрузите компьютер. При последующем запуске компьютера в меню загрузки будет присутствовать пункт «Консоль восстановления Microsoft Windows».
Кроме того, установить консоль восстановления можно из общей сетевой папки, указав путь в формате UNC (Universal Naming Convention).

Добавление нового пользователя

1. Создать учетки на mail-хостинге
2. Создать польз-ля на сервере
3. Добавить пользовательскую запись в файл /usr/local/etc/postfix/virtual
4. saslpasswd2 -c username
5. saslpasswd2 -c username@virtmail.tld
6. postmap virtual
7. Добавить запись о пользователе в /usr/local/etc/fetchmailrc
8. /usr/local/etc/rc.d/fetchmail restart
9. postfix reload

crontab-файл

Формат записи crontab-файла:
min hour day day_of_month day_of_week /path/to/script(command)

например:
30 00 * * * /path/to/script - запуск скрипта в 00:30 ежедневно
20 1 1, 10, 20 * * /path/to/script - запуск скрипта в 1:20 1-го, 10-го и 20-го числа каждого месяца
10 1 * * 6, 0 /path/to/script - запуск скрипта в 1:10 в сб и вс
0,30 18-23 * * * /path/to/script - запуск скрипта каждые полчаса между 18:00 и 23:00 ежедневно
0 22 * * 6 /path/to/script - запуск скрипта в 22:00 каждую субботу

Скрипт ping (цикл)

forping script:
#!/bin/sh
HOSTS="host1 host2 host3 host4 hostn"
for loop in $HOSTS
do
ping -c2 $loop
done
exit 0

Специальные параметры интерпретатора shell

$# - число аргументов, переданных сценарию
$* - отображение всех аргументов, переданных сценарию
$$ - текущий идентификатор PID последнего выполняющегося процесса
$! - идентификатор PID последнего процесса, выполняющегося в фоновом режиме
$@ - то же самое, что и $#, но, если параметр заключен в кавычки, то и каждый аргумент отображается в кавычках
$- - отображает текущие опции интерпретатора; аналогично применению команды set
$? - возвращает код завершения последней команды; 0 говорит об отсутствии ошибок, другое число - об их наличии

Скрипт рассылки почты

formailit script:
#!/bin/sh
WHOS_ON=`who -u | awk '{ print $1}'` # вместо списка залогиненных пользователей можно пропарсить список пользователей #почтового домена
for user in $WHOS_ON
do
mail $user <<< MAYDAY
some
text's
line.
$LOGNAME
MAYDAY
done
exit 0

ssh-туннель

ssh -f -N user@rem_server -L loc_port:rem_host:rem_port
example (forwarding to VNC):
ssh -f -N user@bm -L 5900:bm.lan.ho.st:5900