Показаны сообщения с ярлыком работаю. Показать все сообщения
Показаны сообщения с ярлыком работаю. Показать все сообщения

четверг, 18 апреля 2013 г.

Вытираю пыль

Давно не брал я в руки тряпки и блог пылью зарос. Освежу-ка я его сегодняшней фоткой.
Знакомьтесь - мой новый сервер резервного копирования. Железо простое (DL180 и LTO-5), но, как и всё у HP, не из дешёвых. Один процессор о шести ядрах (+HT) и 12 гигабайт ОЗУ при помощи Symantec Backup Exec делают резервные копии с приятной глазу скоростью - 8 ГБ/мин. К тому же, дедупликация и сжатие уменьшают размер копии всего до 1ТБ. Никак не нарадуюсь после предыдущего сервера, у которого было (о, ужас!) два ядра и 1ГБ ОЗУ, а ленты LTO-3 всего по 400ГБ. Правда винтов маловато, придётся в следующем году докупить парочку.

пятница, 9 ноября 2012 г.

Разбор параметров командной строки в shell


Недавно встретил шаблон для bash-скриптов, разбирающих параметры коммандной строки. Решение красивое и полезное, поэтому и сам стал его использовать.

#! /bin/sh

USAGE="Usage: `basename $0` [-hv] [-o arg] args"

# Разбор параметров командной строки
while getopts hvo: OPT; do
    case "$OPT" in
        h)
            echo $USAGE
            exit 0
            ;;
        v)
            echo "`basename $0` version 0.1"
            exit 0
            ;;
        o)
            OUTPUT_FILE=$OPTARG
            ;;
        \?)
            # getopts вернул ошибку
            echo $USAGE >&2
            exit 1
            ;;
    esac
done

# Удаляем обработанные выше параметры
shift `expr $OPTIND - 1`

# Здесь мы требуем как минимум один параметр помимо опций

# Удалить блок, если он не требуется
if [ $# -eq 0 ]; then
    echo $USAGE >&2
    exit 1
fi

# Доступ к дополнительным параметрам осуществляется через обычные
# переменные $@, $*, $1, $2, и т.д. Или используя этот цикл
for PARAM; do
    echo $PARAM
done

# EOF


Для добавления новых параметров прописываем их в параметрах getopt и пропысываем реакцию в case. Если после буквы ключа идёт двоеточие, значит данный ключ требует аргумента.

пятница, 10 августа 2012 г.

Имя компьютера на рабочем столе

Однажды, объясняя пользователю как посмотреть имя компьютера, пришла ко мне мысль. Одна. Среди тысяч подобных. :) "А как можно упростить этот процесс? Можно ли вывести имя компьютера пользователю на рабочий стол?"
Быстрый поиск в гугле выдал ответ: BgInfo из комплекта Sysinternals. Запускаю - работает! А самое интересное, что утилита прописывает эти параметры в фон рабочего стола и завершает свою работу. Отличная штука для logon-скрипта.
Но есть одна небольшая загвоздка: куда-то делся рисунок с рабочего стола. Вместо него сплошной чёрный фон. Причём на Windows XP всё нормально, проблема только на Windows 7. Что ж, берусь опять за гугл. Оказывается это известная ошибка, возникающая при установке на Windows 7 фона рабочего стола через групповые политики. Проблема широко описана, но решение её не приводится. Учитывая, что последняя версия утилиты BgInfo датируется 2009 годом, рассчитывать на исправление ошибки не стоит.
Черновые раскопки дали следующий результат. Нужно в ветке HKEY_CURRENT_USER\Control Panel\Desktop прописать в параметре Wallpaper путь к файлу с корпоративными обоями (тот, что устанавливается через GPO). В таком случае, BgInfo наложит на него свой текст, сохранит в указанном в настройках каталоге и исправит значение этого параметра, чтобы он указывал на новый файл. Ожидаю, что должны велезти ещё проблемы, но пока всё работает.