Помощь Регистрация
Показано с 1 по 14 из 14
  1. #1
    Аватар для Kapitalist
    Регистрация
    05.12.2007
    Пол
    Пол: Мужской
    Сообщений
    657
    Благодарности

    Скрипты в Linux

    Есть желающие помочь?)) Кроме простеньких бекапов ничего не писал (да и инфы в тырнетах полно по этому поводу, готовых скриптов куча - бери и переделывай). А сейчас возникла идея автоматизировать одну "штуку".

    Есть вот такое: сортировщиком писем в папку складываются файлики. У файликов нет расширения, а имя файла - это время его получения. Причем файл может быть обычным текстовым файлом или же архивом содержащим несколько текстовых файлов.

    Как бы сделать так, чтобы в эту директорию раз в минуту смотрел скрипт и если там что-то есть, то определял что это (архив или обычный текстовый файл). И если это архив, то распаковывал бы его.

    Чтоб смотрел раз в минуту, это просто - вешаем скрипт на крон. Распаковать архив тоже не составляет труда. А вот как определить есть ли файл в этой папке, да еще и тип файла узнать?

    Сам сложа руки сидеть не буду, но если кто в теме — отпишитесь. Заранее спасибо!

  2. #2
    Banned (Read Only)
    Регистрация
    27.02.2008
    Пол
    Пол: Мужской
    Авто
    Сервантик
    Возраст
    36
    Сообщений
    34 587
    Благодарности
    Записей в дневнике
    2
    В теории можно попробывать по чтению заголовка файла, открой архив в текстовом редакторе и будет понятно, но такие заголовки не у всех есть.
    Что мешает тупо разархивировать всё подряд?

  3. #3

    Регистрация
    14.08.2007
    Пол
    Пол: Мужской
    Возраст
    42
    Сообщений
    970
    Благодарности
    чем архивировано?

  4. #4
    Moderator Аватар для Mazzay
    Регистрация
    21.02.2007
    Пол
    Пол: Мужской
    Авто
    BMW (BeMyWife)
    Сообщений
    56 654
    Благодарности
    Цитата Сообщение от Kapitalist Посмотреть сообщение
    У файликов нет расширения, а имя файла - это время его получения. Причем файл может быть обычным текстовым файлом или же архивом содержащим несколько текстовых файлов.
    А до сих пор как-то определялся тип файла?

  5. #5

    Регистрация
    14.08.2007
    Пол
    Пол: Мужской
    Возраст
    42
    Сообщений
    970
    Благодарности
    [xxx@xxxxx ~]# file route-map_PEER-CLASS-OUT
    route-map_PEER-CLASS-OUT: ASCII text
    [xxx@xxxxx ~]# file radius2dhcp-3.0.5.patch
    radius2dhcp-3.0.5.patch: 'diff' output text
    [xxx@xxxxx ~]# file kaskad
    kaskad: ASCII text
    [xxx@xxxxx ~]# file livecd.iso
    livecd.iso: ISO 9660 CD-ROM filesystem data
    [xxx@xxxxx ~]# file stage3-i686-1.4_rc1.tar.bz2
    stage3-i686-1.4_rc1.tar.bz2: bzip2 compressed data, block size = 900k
    [xxx@xxxxx ~]# file raps104.tgz
    raps104.tgz: gzip compressed data, from Unix
    [xxx@xxxxx ~]# file overta-network.txt
    overta-network.txt: ISO-8859 text
    [xxx@xxxxx ~]#

    man file

  6. #6
    Аватар для Kapitalist
    Регистрация
    05.12.2007
    Пол
    Пол: Мужской
    Сообщений
    657
    Благодарности
    Цитата Сообщение от Cr_net Посмотреть сообщение
    чем архивировано?
    Cabinet (.cab), а уже внутри лежит arj, а внутри него уже текстовые файлы...кощей бессмертный)))

  7. #7
    Аватар для Kapitalist
    Регистрация
    05.12.2007
    Пол
    Пол: Мужской
    Сообщений
    657
    Благодарности
    Цитата Сообщение от Mazzay Посмотреть сообщение
    А до сих пор как-то определялся тип файла?
    Total Commander'ом))) Нажимаем F4, если вместо текста крякозябры - значит архив!

  8. #8
    Аватар для Kapitalist
    Регистрация
    05.12.2007
    Пол
    Пол: Мужской
    Сообщений
    657
    Благодарности
    Cr_net, спасибо!
    xxx@xxxxx:/1# file 091320122010
    091320122010: Microsoft Cabinet archive data, 1763 bytes, 1 file

  9. #9
    Аватар для Kapitalist
    Регистрация
    05.12.2007
    Пол
    Пол: Мужской
    Сообщений
    657
    Благодарности
    АААААААА он пришел, злой человек пришел! заглянул в монитор и сказал, что проще все это сделать на php))))

  10. #10
    AG Team Аватар для Alexxxl
    Регистрация
    21.02.2006
    Пол
    Пол: Женский
    Авто
    Желтый полосатик :-)
    Возраст
    33
    Сообщений
    8 064
    Благодарности
    Знаю только один скрипт .. который убивает все все все и сношается с холодильником ....

  11. #11
    LPD: Мельник Аватар для a160xt
    Регистрация
    18.03.2004
    Пол
    Пол: Мужской
    Авто
    Skoda Fabia, Opel Astra GTC
    Сообщений
    4 501
    Благодарности
    неправда, я сказал не проще, а реальнее быстрее и удобнее. с получением и парсингом только имен файлов в директории какой геморой? а толи ещё будет.
    поэтому так сказал
    Единственный недостаток пива - Это его недостаток.

  12. #12
    LPD: Мельник Аватар для a160xt
    Регистрация
    18.03.2004
    Пол
    Пол: Мужской
    Авто
    Skoda Fabia, Opel Astra GTC
    Сообщений
    4 501
    Благодарности
    Цитата Сообщение от Alexxxl Посмотреть сообщение
    Знаю только один скрипт .. который убивает все все все и сношается с холодильником ....
    топикстартеру не говори про него, а то напишет, а холодильники старые у нас, геронтофилия будет. ))
    Единственный недостаток пива - Это его недостаток.

  13. #13
    AG Team Аватар для Alexxxl
    Регистрация
    21.02.2006
    Пол
    Пол: Женский
    Авто
    Желтый полосатик :-)
    Возраст
    33
    Сообщений
    8 064
    Благодарности
    cd $TMPDIR
    #Создать временный каталог
    mkdir $DESTDIR
    chmod 700 $DESTDIR
    #Получить из репозитория последний бэкап
    $SVN checkout -q $SVNROOTsvn/$REPDIR/trunk $DESTDIR
    cd $DESTDIR
    #Построить список файлов, которые надо забэкапить
    list=`eval find $LIST $EXCLUDE_LIST -and -type f|sort`
    #Копировать файлы
    for p in ${list} $FILES ; do
    pax -rw $p . > /dev/null 2>&1
    done;
    #убить увсе и вся .. все стереть нафик ...
    list=`eval $SVN status|grep ^?|awk '{print $2}'`
    #Посмотреть на холодилоьник тяжелым взглядом
    for p in ${list} ; do
    $SVN add -q $p
    done;
    #подойти к холодильнику
    #развернуть его на 180 гр.
    list=`eval find . -name .svn -prune -or -print`
    #
    #
    for p in ${list} ; do
    if [ ! -e /$p ]; then
    $SVN delete -q $p --force
    fi
    done;
    # надругаться над холодильником
    $SVN diff
    #Загрузить изменения в репозиторий
    $SVN commit -q -m "svnbackup automatic update"
    #Убрать за собой
    cd ../
    rm -rf $DESTDIR

  14. #14

    Регистрация
    01.03.2007
    Пол
    Пол: Мужской
    Сообщений
    1 901
    Благодарности
    Цитата Сообщение от Kapitalist Посмотреть сообщение
    Есть желающие помочь?)) Кроме простеньких бекапов ничего не писал (да и инфы в тырнетах полно по этому поводу, готовых скриптов куча - бери и переделывай). А сейчас возникла идея автоматизировать одну "штуку".

    Есть вот такое: сортировщиком писем в папку складываются файлики. У файликов нет расширения, а имя файла - это время его получения. Причем файл может быть обычным текстовым файлом или же архивом содержащим несколько текстовых файлов.

    Как бы сделать так, чтобы в эту директорию раз в минуту смотрел скрипт и если там что-то есть, то определял что это (архив или обычный текстовый файл). И если это архив, то распаковывал бы его.

    Чтоб смотрел раз в минуту, это просто - вешаем скрипт на крон. Распаковать архив тоже не составляет труда. А вот как определить есть ли файл в этой папке, да еще и тип файла узнать?

    Сам сложа руки сидеть не буду, но если кто в теме — отпишитесь. Заранее спасибо!
    ну вообще обычним листингом можно узнать есть ли файл или нет:
    #!/bin/sh
    ls /mesto/gde/leshat/faily -1

    а полученные список можно уже каверкать как тебе угодно либо по расширению разархивировать, либо если без расширения открывать catом и смотреть что в нутри. Короче нет ничего сложного.

Похожие темы
  1. Программы под Linux
    от evn в разделе Компьютеры, телефоны, игры, ПО, связь
    Ответов: 5
    Последнее сообщение: 30.07.2011, 12:49
  2. OSы Linux, какая сборка практичней?
    от Towele в разделе Компьютеры, телефоны, игры, ПО, связь
    Ответов: 71
    Последнее сообщение: 07.11.2009, 01:33
  3. Работа с PocketPC устройствами из-под Linux
    от evn в разделе Полезно. Интересно. Познавательно
    Ответов: 1
    Последнее сообщение: 08.05.2008, 10:23
  4. Поделитесь дистрибом Linux
    от Igorilio в разделе Полезно. Интересно. Познавательно
    Ответов: 19
    Последнее сообщение: 07.02.2008, 19:00
  5. LInux Wine 1C
    от SffD в разделе Полезно. Интересно. Познавательно
    Ответов: 12
    Последнее сообщение: 16.06.2006, 16:15
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •