Меню пользователя
Имя пользователя
Пароль
Запомнить меня
Поиск по сайту
Вход пользователей
Пользователь:

Пароль:

Запомнить меня

Забыли пароль?

Регистрация
Поиск
Кто активен
4 пользователь(ей) активно (4 пользователь(ей) просматривают Open Форум)

Участников: 0
Гостей: 4

далее...
Уважаемые пользователи форума! Внимание!
Темы, озаглавленные бездумно и не ясно для кого, изобилующие БОЛЬШИМИ БУКВАМИ, "!!!" или "???", нарушающие правила, написанные корявым русским языком, содержащие оскорбления, рекламу или клевету, написанные вне тематических разделах Форума, - будут закрываться или удаляться без специального предупреждения, а их Авторы будут удаляться или отправляться в бан! Надеемся на вашу сознательность и уважение к себе и ко всем участникам форума.
:: Правила Форума :: - - :: ББ-коды для использования на форуме ::

Просмотр этой темы:   1 анонимных пользователей


 Вниз   Предыдущая тема   Следующая тема  Зарегистрируйтесь для создания

(1) 2 3 »


делимся опытом по написанию sh-скриптов

Зарегистрирован:
13/3/2009 17:04
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Предлагаю делиться опытом по автоматизации процессов, а так же полезных скриптов на sh.

Сам же пока выкладываю генератор демотивационных постеров (демотиваторов).

#!/bin/sh
motivator_help() {
cat << EOF
${0} - Motivator maker
Usage:
${0} -i IMAGE (-o IMAGE) (-h TEXT) (-t TEXT)
(-f FONT) (-F FONT) (-s SIZE) (-S SIZE) (-C VALUE)
Options:
-i - Input image
-h - Header text
-t - Term text
-o - Output file
-f - Term font
-F - Header font
-s - Term size
-S - Header size
-C - Scale value
-H - Help
EOF
}

motivator_getopts() {
while getopts ":i: h: t: o: f: F: s: S: C: H" optname; do
case "$optname" in
"i") IMAGE="${OPTARG}" ;;
"h") HEAD_TEXT="${OPTARG}" ;;
"t") TERM_TEXT="${OPTARG}" ;;
"o") DEST="${OPTARG}" ;;
"f") T_FONT="${OPTARG}" ;;
"F") H_FONT="${OPTARG}" ;;
"s") T_SIZE="${OPTARG}" ;;
"S") H_SIZE="${OPTARG}" ;;
"C") SCALE="${OPTARG}" ;;
"H") motivator_help; exit 0 ;;
"?") echo "Unknown option \"${OPTARG}\""; exit 1 ;;
":") echo "No argument value for option \"${OPTARG}\""; exit 1 ;;
*) echo "Unknown error while processing options"; exit 1 ;;
esac
done
if [ -z "${IMAGE}" ]; then
echo -e "Give me input image!\n" 1>&2
motivator_help 1>&2
exit 1
fi
}

#Defaults
DEST="result.png"
H_FONT="/usr/share/fonts/truetype/FreeSerif.ttf"
T_FONT="/usr/share/fonts/truetype/arial.ttf"
H_SIZE="64"
T_SIZE="32"
SCALE="640"

#Getopt
motivator_getopts "${@}"

#Main
#Resize and convert
convert -scale "${SCALE}" "${IMAGE}" "${DEST}"
if [ $? -gt 0 ]; then
echo "Error!" 1>&2
exit 1
fi
#Make border around image
mogrify -bordercolor black -border 2 \
-bordercolor white -border 2 \
-bordercolor black -border 70x0 "${DEST}"
#Write header if there is one
if [ -n "${HEAD_TEXT}" ]; then
montage -geometry +0+0 -background black -fill white \
-font "${H_FONT}" \
-pointsize "${H_SIZE}" -label "${HEAD_TEXT}" "${DEST}" "${DEST}"
fi
#Write term if there is one
if [ -n "${TERM_TEXT}" ]; then
montage -geometry +0+0 -background black -fill white \
-font "${T_FONT}" \
-pointsize "${T_SIZE}" -label "${TERM_TEXT}" "${DEST}" "${DEST}"
fi
#If there was header or term make black fields
if [ -n "${HEAD_TEXT}" -o -n "${TERM_TEXT}" ]; then
mogrify -bordercolor black -border 5x45 "${DEST}"
fi


использование скрипта:
~/generator.sh -i /путь к файлу/filename.png -h text1 -t text2 -o /путь к файлу/test.png

пример:
/home/alex/Desktop/Demotivators/generator.sh -i /home/alex/Desktop/manul.jpg -h "Это - Манул" -t гладь -o /home/alex/Desktop/test.png

P.S.
исходные форматы файлов - *.jpeg, *.jpg, *.png, *.bmp, *.svg
для написания нескольких слов (text1 text2) используем " "

-i - исходный файл
-h - верхний текст
-t - нижний текст
-o - результат

Отправлено: 2/6/2009 20:38
_________________
Server:
Intel Core2Duo 2.00 GHz | 4 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.37-pae
Desktop:
Inet Core2Duo 2.20 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-desktop | NVidia GeForce 8600 GT/512 Mb
Laptop:
Intel Core2Duo T6570 2.10 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-laptop | NVidia GeForce 310M CUDA/512 Mb
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
13/3/2009 17:04
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Вчера хотел обновить свой любимый джаббер-клиент, но уже целый месяц небыло релизов для opensuse. Поэтому было решено собирать из свна. Нашел скрипт по универсальной сборке:
psibuild.sh

Отправлено: 5/6/2009 18:08

Отредактировано пользователем solnechnyi_z 05/06/2009 18:16:05
_________________
Server:
Intel Core2Duo 2.00 GHz | 4 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.37-pae
Desktop:
Inet Core2Duo 2.20 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-desktop | NVidia GeForce 8600 GT/512 Mb
Laptop:
Intel Core2Duo T6570 2.10 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-laptop | NVidia GeForce 310M CUDA/512 Mb
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
10/2/2009 9:56
Из: Псков
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Поделюсь своим скриптом. Помнится занимался както галлереей и надо было бастро изменить размер в нескольких тысячах картинок. Я не любитель "мануальной терапии" и поэтому автоматизировал сие.
Скрипт на perl но думаю от этого он хуже не стал :)

Перед использованием скопируйте папку с изображениями, потому что он перезаписывает имеющиеся картинки новыми.

Отправлено: 6/6/2009 10:43
_________________
Копилка опыта
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
13/3/2009 17:04
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
demoriz: о! так я же и искал такой скрипт

Отправлено: 6/6/2009 10:50
_________________
Server:
Intel Core2Duo 2.00 GHz | 4 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.37-pae
Desktop:
Inet Core2Duo 2.20 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-desktop | NVidia GeForce 8600 GT/512 Mb
Laptop:
Intel Core2Duo T6570 2.10 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-laptop | NVidia GeForce 310M CUDA/512 Mb
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
10/2/2009 9:56
Из: Псков
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Цитата:

solnechnyi_z пишет:
demoriz: о! так я же и искал такой скрипт

наздоровье :)
только я сейчас заметил что он в искажонном виде зпостился. Обратные слеши пропали.
Рабочий вариант тут

Отправлено: 6/6/2009 13:49
_________________
Копилка опыта
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
13/3/2009 17:04
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Бэкап хоума и баз mysql

#!/bin/sh
#
#####
backdir="/mnt/backup/`date +%Y%m%d`"
sqldir="/usr/local/mysql"
backuser="andrewhost"
backuserdir="/home/$backuser/backup"
# removing old backups
rm -rf $backuserdir
# creating backup dirs
mkdir -p $backdir
mkdir -p $backdir/db
# backup home dirs
tar -zcf $backdir/homes.tar.gz /home
# backup mh htdocs
tar -zcf $backdir/mh.tar.gz /usr/local/apache/htdocs
# backup etc dirs
tar -zcf $backdir/etc.tar.gz /etc
# backuping databases
find $sqldir/data -type d -exec basename {} \;|uniq|while read dbname; do
$sqldir/bin/mysqldump -u root -ppassword $dbname > $backdir/db/$dbname.sql;
done
# moving to home
mkdir -p $backuserdir
mv $backdir $backuserdir
chown -R $backuser $backuserdir
find $backuserdir -type d -exec chmod 700 {} \;
find $backuserdir -type f -exec chmod 600 {} \;
# clean up
rm -rf $backdir

Отправлено: 8/6/2009 21:19
_________________
Server:
Intel Core2Duo 2.00 GHz | 4 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.37-pae
Desktop:
Inet Core2Duo 2.20 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-desktop | NVidia GeForce 8600 GT/512 Mb
Laptop:
Intel Core2Duo T6570 2.10 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-laptop | NVidia GeForce 310M CUDA/512 Mb
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
8/6/2009 18:43
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Не скрипт, но полезные фичи:
cp /dev/cdrom /home/user/file.iso - создание iso образа диска в приводе /dev/cdrom

mount -t iso9660 /mnt/cd /home/user/file.iso - "виртуальный cd" монтирует iso образ file.iso в папку /mnt/cd
есть еще один вариант последнего:
mount /mnt/cd /home/user/file.iso -o loop

Отправлено: 9/6/2009 22:54
_________________
Jedem das seine.
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов
Гвардии модератор
Зарегистрирован:
31/7/2008 9:37
Из: Липецк
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
2 Wehrmacht было уже в одном из обсуждений статей. Но, повторение - мать учения. Может кто-то заметит.

Отправлено: 9/6/2009 23:01
_________________
Slackware 13.0 | ASUS P5Q SE | C2D E6750 | 2GB RAM | NVIDIA GeForce 9800GT TOP | NEC 225wnx 22''

Только массовые расстрелы спасут Родину
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
10/2/2009 9:56
Из: Псков
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
Цитата:

Wehrmacht пишет:
Не скрипт, но полезные фичи:
cp /dev/cdrom /home/user/file.iso - создание iso образа диска в приводе /dev/cdrom

mount -t iso9660 /mnt/cd /home/user/file.iso - "виртуальный cd" монтирует iso образ file.iso в папку /mnt/cd
есть еще один вариант последнего:
mount /mnt/cd /home/user/file.iso -o loop

более правильно в первом случае будет сделать:
dd if=/dev/cdrom of=/home/user/file.iso
это примитивные букварные истины а не скрипты.

Отправлено: 9/6/2009 23:03
_________________
Копилка опыта
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов
Гвардии модератор
Зарегистрирован:
31/7/2008 9:37
Из: Липецк
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
2 demoriz путаешь тёплое с мягким. Вермахт говорит о монтировании готового исошника, а ты о его создании.
ЗЫ: Своё мнение выразил раньше.

Отправлено: 9/6/2009 23:09
_________________
Slackware 13.0 | ASUS P5Q SE | C2D E6750 | 2GB RAM | NVIDIA GeForce 9800GT TOP | NEC 225wnx 22''

Только массовые расстрелы спасут Родину
Перенести сообщение в другую программу Трансфер


Re: делимся опытом по написанию sh-скриптов

Зарегистрирован:
13/3/2009 17:04
Сообщений: 0
Уровень : NAN
HP : NAN / NAN
MP : NAN / NAN
EXP : NAN
Не в сети
тогда надо склеить это все в один скрипт ))

Отправлено: 9/6/2009 23:49
_________________
Server:
Intel Core2Duo 2.00 GHz | 4 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.37-pae
Desktop:
Inet Core2Duo 2.20 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-desktop | NVidia GeForce 8600 GT/512 Mb
Laptop:
Intel Core2Duo T6570 2.10 GHz | 3 Gb RAM | openSUSE 11.3 i586 | kernel 2.6.34-laptop | NVidia GeForce 310M CUDA/512 Mb
Перенести сообщение в другую программу Трансфер



 Наверх   Предыдущая тема   Следующая тема
(1) 2 3 »

 Зарегистрируйтесь для создания


Вы можете просматривать темы.
Вы не можете начинать темы.
Вы не можете отвечать в теме.
Вы не можете редактировать свои сообщения.
Вы не можете удалять свои сообщения.
Вы не можете создавать опросы.
Вы не можете голосовать.
Вы не можете прикреплять файлы к сообщениям.
Вы не можете писать без одобрения сообщений.

[Расширенный поиск]


open-suse.ru