Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Помогите с написанием скрипта

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

whitecherep

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт будет находиться на флешке в корне и автоматически запускаться при ее монтировании, выполняя следующие:
 
1. На флешке в корне находиться папка 'Test', скрипт создает в ней подпапку, название которой серийный номер винчестера
2. Копирует нужные файлы/папку (например с /home/user/program/folder) с винчестера в эту созданную папку
3. Далее переименовывает папку /home/user/program/folder в folder_data, где data - дата когда было последние копирование на флешку, например 'fodler_23-10-2010'
 
Флешка будет монтироваться на нескольких компьютерах и скрипт должен копировать нужные файлы в соответствующие подпапки (с серийными номерами винчестеров) на флешке.
 
В написание скриптов полностью новичок, если можно, пожалуйста подробнее, по ходу дела буду учиться.  
Дело в том что скрипт нужен чем скорее тем лучше (в течении нескольких дней), и перечитывать все нюансы написания bash скриптов или научиться этому с нуля за короткое время, сами понимаете, не реально. Заранее благодарен за вашу помощь.

Всего записей: 38 | Зарегистр. 14-02-2006 | Отправлено: 19:10 23-10-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=1491&start=1820#lt
http://forum.ru-board.com/topic.cgi?forum=62&bm=1&topic=21297&start=1120#lt
 
писать целиком за тебя врядли кто то будет

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:16 23-10-2010
whitecherep

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт нужен для Linux систем, к примеру autorun.sh, а не батник.  
Я не прошу писать целиком, каждый может подсказать то, что знает. Меня главным образом интересует 1-й пункт, как можно вытянуть серийник винта чтобы создать папку.
 
Добавлено:
Нашел как вывести инфу о винчестере и сохраняю в текстовый файл:
 
hdparm -i /dev/sda -> temp.txt
 
в файле следующая информация:
 
....
 Model=ST3500418AS, FwRev=CC35, SerialNo=6VM3BARM
....
 
какими командами в скрипте можно вытянуть серийник после SerialNo= с текстового файла и создать подпапку (в даном случае 6VM3BARM) ?

Всего записей: 38 | Зарегистр. 14-02-2006 | Отправлено: 19:52 23-10-2010
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mkdir `hdparm -i /dev/sda | head -n 4 | tail -n 1 | cut -d= -f 4`
Но это решение кривоногое: зависит от платформы.

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6689 | Зарегистр. 29-04-2009 | Отправлено: 22:00 23-10-2010
whitecherep

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Но это решение кривоногое: зависит от платформы.

 
Работает, спсибо, а то уже сидел искал как из файла вытянуть текст )
Почему кривоногое, можно подробнее нюансы? На всех машинах стоит дебиан, все винты SATA, в самом начале скрипта устанавливаю саму hdparm из пакета, который кидаю на флешку.
 

Всего записей: 38 | Зарегистр. 14-02-2006 | Отправлено: 22:29 23-10-2010
SysCommander

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В написание скриптов полностью новичок


Цитата:
перечитывать все нюансы написания bash скриптов

 
Что перечитывать если полностью новичок?
 
Базовая работа с текстом - тривиальнейшая задача. Я еще могу понять если есть затруднения сделать, используя заданное множество разрешенных утилит, потому что возможных вариантов очень много. Но человека, неспособного это сделать никак - вообще нельзя к компьютерам подпускать.
 

Цитата:
скрипт нужен чем скорее тем лучше

 
Это вообще смешно.

Всего записей: 421 | Зарегистр. 20-07-2007 | Отправлено: 00:22 24-10-2010
whitecherep

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SysCommander, да не парься, если нечего написать по теме, то лучше вообще ничего не пиши.  
Написал, что скрипт нужен в короткие сроки, так как новичок в этом и не знаю с помощью каких команд можно то или иное сделать (не считая самых простых команд), то нету возможности полностью перечитывать всю документацию по bash чтобы найти соответствующие команды.
urodliv помог вытянуть серийник и создать папку, в команде и ключах разобрался, на будущее теперь буду знать. Все остальные пункты попытался написать сам.

Всего записей: 38 | Зарегистр. 14-02-2006 | Отправлено: 17:52 24-10-2010 | Исправлено: whitecherep, 17:53 24-10-2010
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
3. Далее переименовывает папку /home/user/program/folder в folder_data, где data - дата когда было последние копирование на флешку, например 'fodler_23-10-2010'  

Чёрт, только сейчас обратил внимание, что там у вас несколько задач.
Вопрос такой, а как вы узнаёте дату последнего копирования?

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6689 | Зарегистр. 29-04-2009 | Отправлено: 00:37 25-10-2010
Aluminium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если под датой последнего копирования имеется в виду текущее втыкание флешки в комп, то скрипт будет выглядеть так:

Код:
#!/bin/sh
 
serial=`hdparm -i /dev/sda | awk -F= '{if($1 ~ /Model/) print $4}'`
now_date=`date +%F`
 
mkdir ./Test/$serial
cp /home/user/program/folder ./Test/$serial/$now_date

Всего записей: 44 | Зарегистр. 04-02-2008 | Отправлено: 17:33 29-10-2010
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
hdparm -i /dev/sda

 
Незадача в том, что абы кто (all, то бишь) обычно не имеет прав на чтение /dev/sd*, что вполне логично. hdparm не от пользователя группы root disk не сработает.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:31 29-10-2010 | Исправлено: ASE_DAG, 22:37 29-10-2010
Gavigor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть xml:
<?xml version="1.0" encoding="utf-8"?>
<provider url="https://stat.internet67.ru/">
    <request type="GET" url="${provider.url}" required="true" onError="exception.unavailable" charset="UTF-8">
        <request type="POST" url="${provider.url}" required="true" onError="exception.unavailable">
            <param name="login" value="${account.login}"/>
            <param name="password" value="${account.password}"/>
<param name="cmd" value="login"/>
 
            <search start="utm-table-caption" end="&lt;/table" required="true" onError="exception.login">
                <table><foreach>
                    <search value="${result.1}" regex="Баланс">
                        <balance value="${result.2}" units="р"/>
                    </search>
                    <search value="${result.1}" regex="Кредит">
                        <balance value="${result.2}" units="р"/>
                    </search>
                </foreach></table>
            </search>
        </request>
    </request>
</provider>
 
===============================
 
вот ее html:
 
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<TITLE>
    UTM:
    Вход в UTM</TITLE>
<LINK rel="stylesheet" type="text/css" href="/utm.css">
<SCRIPT language="JavaScript" type="text/javascript" src="/utm.js"></SCRIPT>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000" link="#003BA9" vlink="#E7651A" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"><TABLE width="100%" height="100%" cellspacing="0" cellpadding="0" border="0"><TR>
<TD width="20%" class="menu-area">
<DIV class="mainmenu-act">Вход в UTM</DIV>
<DIV class="mainmenu-inact"><A href="/cgi-bin/forusers/credit.pl" target="_top">Включить интернет в кредит</A></DIV>
<DIV class="mainmenu-inact"><A href="/cgi-bin/forusers/extip.pl" target="_top">Заказ внешнего IP</A></DIV>
<DIV class="mainmenu-inact"><A href="/cgi-bin/forusers/chtar.pl" target="_top">Сменить тарифный план</A></DIV>
<DIV class="mainmenu-inact"><A href="/cgi-bin/forusers/diag.pl" target="_top">Проверка настроек</A></DIV>
<DIV class="mainmenu-inact"><A href="/cgi-bin/forusers/telsms.pl" target="_top">Способы связи с абонентом</A></DIV>
<DIV class="mainmenu-inact"><br></DIV>
<DIV class="mainmenu-inact"><A href="/soft/setup_UTM_int67.exe" target="_top">Скачать UTM_Wintray</A></DIV>
<DIV class="mainmenu-inact"><A href="/soft/setup_int67.exe" target="_top">Скачать Wintray И67 (новая сборка)</A></DIV>
<DIV class="mainmenu-inact"><A href="/soft/setup_fly_int67.exe" target="_top">Программа обмена файлами (FlylinkDC)</A></DIV>
<DIV class="mainmenu-inact"><A href="/soft/setup_StrongDC_int67.exe" target="_top">Программа обмена файлами (StrongDC)</A></DIV>
<DIV class="mainmenu-inact"><A href="/soft/commfort_client_500d.exe" target="_top">Внутрисетевой ЧАТ commfort v5</A></DIV>
<DIV class="mainmenu-inact"><A href="/soft/IpTvPlayer-setup.exe" target="_top">IpTvPlayer-setup</A></DIV>
                       
 
 
</TD>
<TD width="80%" class="work-area">
<TABLE width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="#E0EED3"><TR><TD class="submenu-area"></TD></TR></TABLE>
<BR>Вход в UTM<FORM name="login" accept-charset="UTF-8" action="/cgi-bin/utm5/aaa5" target="" method="post"><DIV class="form-tab"><TABLE cellspacing="5" cellpadding="3" border="0">
<TR>
<TD class="form-field" align="right">Логин</TD>
<TD class="form-field" align="left"><INPUT type="text" class="form-field" size="40" name="login" value=""></TD>
</TR>
<TR>
<TD class="form-field" align="right">Пароль</TD>
<TD class="form-field" align="left"><INPUT type="password" class="form-field" size="40" name="password" value=""></TD>
</TR>
<INPUT type="hidden" name="cmd" value="login"><TR>
<TD></TD>
<TD><INPUT type="submit" class="form-button" value="OK"></TD>
</TR>
 
</TABLE></DIV></FORM>
</TD>
 
 
</TR></TABLE></BODY>
</HTML>
================================
 
в итоге имею ошибка авторизации. что я не так делаю?

Всего записей: 118 | Зарегистр. 27-04-2008 | Отправлено: 23:55 08-11-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gavigor
А как это связано с UNIX или со скриптами???
Это типичное web-программирование.
Если будут вопросы по UNIX shell'у и т.п. sed, awk, perl, то есть действующая тема.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 00:25 09-11-2012 | Исправлено: Alukardd, 00:28 09-11-2012
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Помогите с написанием скрипта


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru