The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помощь в написании скрипта"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помощь в написании скрипта"  
Сообщение от zick (ok) on 12-Июл-07, 17:19 
Всем здрасте !
Есть такая вот задача: есть сервер, на него по нфс монтируються диски с фильмами (например /share/Video/hdd*/папки_с_фильмами ), надо написать такой скрипт, чтоб он через некоторый промежуток времени сканировал директории и создавал симлинк в определённую папку ( /ftp/cinema/имя_папки_с_фильмом ). Тоесть чтоб просто  забрасывали фильмы на монтируемые диски и скрипт сканировал через определённый промежуток и создавал симлинк на папку с фильмом (имеено на папку, а не на фильм). Кто знает помогите пожалуйста, так как с програмированием в оболочке вобще не дружу ! Заранее спасибо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помощь в написании скрипта"  
Сообщение от vic (??) on 12-Июл-07, 19:22 
Ну например сделать вот такой скрипт и запихать его запуск в cron (man crontab):
#!/bin/bash
for i in /share/Video/hdd*
do
  find $i -mindepth 1 -maxdepth 1 -type d -exec ln -s {} /ftp/cinema \;
done

На уже существующие одинаковые каталоги будет ругаться, но это можно слить в /dev/null..

Если в каталоге /share/Video только подкаталоги hdd*, то можно обойтись find без for, хотя и в данном случае тоже можно обойтись, но лень думать :)

p.s. папки - это только в вин, в никсах каталоги.
p.s.s. подружитесь с bash или ksh, это не сложно, но приятно :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помощь в написании скрипта"  
Сообщение от zick (ok) on 14-Июл-07, 12:23 
>Ну например сделать вот такой скрипт и запихать его запуск в cron
>(man crontab):
>#!/bin/bash
>for i in /share/Video/hdd*
>do
>  find $i -mindepth 1 -maxdepth 1 -type d -exec ln
>-s {} /ftp/cinema \;
>done
>
>На уже существующие одинаковые каталоги будет ругаться, но это можно слить в
>/dev/null..
>
>Если в каталоге /share/Video только подкаталоги hdd*, то можно обойтись find без
>for, хотя и в данном случае тоже можно обойтись, но лень
>думать :)
>
>p.s. папки - это только в вин, в никсах каталоги.
>p.s.s. подружитесь с bash или ksh, это не сложно, но приятно :)
>


Да уже пополной начинаю дружить =) Дружба потихоньку крепнет ) Вот мой скрипт, знаю что криво и неполноценно, но работает ...

#!/usr/local/bin/bash
# write by zik (c)

cd /share/Video/ ;

for i in $(ls);
do
    #pwd;
    cd /share/Video/$i/Movie/ ;
    if [ $(pwd) = "/share/Video/$i/Movie"  ];
    then
        for a in $(ls);
        do
            ln -s /share/Video/$i/Movie/$a /ftp/kino/films/ ;
            cd ../../ ;
        done;
    
    fi
done;

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помощь в написании скрипта"  
Сообщение от zick (ok) on 26-Июл-07, 23:02 
Блин новая запара случилась :( Добавили ещё диски с фильмами, а там в названии файлов пробелы и симлинки нормально не создаються ... Подкскажите кто знает, как это решить, буду очень признателен !
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Помощь в написании скрипта"  
Сообщение от phpcoder email(??) on 27-Июл-07, 10:49 
>Блин новая запара случилась :( Добавили ещё диски с фильмами, а там
>в названии файлов пробелы и симлинки нормально не создаються ... Подкскажите
>кто знает, как это решить, буду очень признателен !

Заключай имена переменных, воторые содержат пробелы, в двойные кавычки. (Вместо $i пиши "$i")

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру