Скрипт для создания силинков

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
zik
мл. сержант
Сообщения: 134
Зарегистрирован: 2007-05-24 21:14:01
Откуда: Одесса
Контактная информация:

Скрипт для создания силинков

Непрочитанное сообщение zik » 2007-07-12 16:24:48

Всем здрасте !
Есть такая вот задача: есть сервер, на него по нфс монтируються диски с фильмами (например /share/Video/hdd*/папки_с_фильмами ), надо написать такой скрипт, чтоб он через некоторый промежуток времени сканировал директории и создавал симлинк в определённую папку ( /ftp/cinema/имя_папки_с_фильмом ). Тоесть чтоб просто забрасывали фильмы на монтируемые диски и скрипт сканировал через определённый промежуток и создавал симлинк на папку с фильмом (имеено на папку, а не на фильм). Кто знает помогите пожалуйста, так как с програмированием в оболочке вобще не дружу ! Заранее спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-07-12 16:48:02

ну ты хоть чё-то пиши.
выкладывай.
а мы будем подсказывать.
=========
а так - ты неправильно сформулирвоал тему. Правильно бы было "Напишите за меня скрипт который..."
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zik
мл. сержант
Сообщения: 134
Зарегистрирован: 2007-05-24 21:14:01
Откуда: Одесса
Контактная информация:

Непрочитанное сообщение zik » 2007-07-14 10:50:00

Вот что у меня получилось ... конечно криво, но работает :lol:
#!/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;

Аватара пользователя
serge
майор
Сообщения: 2132
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2007-07-14 11:13:54

А что за ftp стоит? Умеет по симлинкам ходить? Без chroot'a получается.

Аватара пользователя
zik
мл. сержант
Сообщения: 134
Зарегистрирован: 2007-05-24 21:14:01
Откуда: Одесса
Контактная информация:

Непрочитанное сообщение zik » 2007-07-14 14:25:40

to serge

ОС FreeBSD 6.1, vsftpd 2.0.4
Вот-вот, щас новая ипопея ... Я упустил что пользователи сидят все в chroot и симлинки не пашут ... :twisted: Пытался сделать через mount_nullfs, но не получилось :( Надо чтоб была папка с симлинками в которой например были каталоги с спарсеными сылками с подмонтированных жестких ( например: /ftp/klips , /ftp/private , /ftp/movie и т.п.) и поним можно было ходить через фтп и самбу ...

Аватара пользователя
serge
майор
Сообщения: 2132
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2007-07-14 14:32:50

У меня через nullfs работает. По симлинкам тож обламался :)

Аватара пользователя
zik
мл. сержант
Сообщения: 134
Зарегистрирован: 2007-05-24 21:14:01
Откуда: Одесса
Контактная информация:

Непрочитанное сообщение zik » 2007-07-14 14:47:46

У меня б тоже работало если б на жёстких не было свалки ... Мне надо, чтоб была папка /ftp/kino/ , /ftp/clips , /ftp/pub (все эти папки в chroot у vsftpd ) и там должны быть линки спарсенные с стореджей /share/Video/HDD*/ (* - номер харда). И тут начинаеться хождение по кругу ...

Аватара пользователя
serge
майор
Сообщения: 2132
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2007-07-14 17:15:31

Все равно не могу понять почему не станет работать nullfs. Будет что-то типа:

Код: Выделить всё

mount_nullfs /share/Video/HDD* /ftp/movie/HDD*
Т.е. придется делать точки монтирования в соответствующем каталоге, и в них монтировать.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-07-14 20:00:42

да должно прокатить...
========
кстати - кроме nullfs ещё есть unionfs - тоже штука с интеерсными особенностями...

Код: Выделить всё

ussr# pwd
/tmp/test
ussr# mkdir test1
ussr# mkdir test2
ussr# touch test1/test1_1.txt test1/test1_2.txt test2/test2_1.txt test2/test2_2.txt
ussr# ll te
test1/  test2/
ussr# ll test*
test1:
total 0
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_1.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_2.txt

test2:
total 0
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test2_1.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test2_2.txt
ussr# mount_unionfs /tmp/test/test1 /tmp/test/test2
ussr# ll test1/
total 0
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_1.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_2.txt
ussr# ll test2
total 0
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_1.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test1_2.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test2_1.txt
-rw-r--r--  1 root  wheel  0 14 июл 20:59 test2_2.txt
ussr#
ussr# df -h | grep test
<above>:/tmp/test/test1                143G     77G     60G    56%    /tmp/test/test2
ussr#       
такой вот любопытный листинг :))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
serge
майор
Сообщения: 2132
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2007-07-14 20:11:18

А в двух словах пояснишь отличия nullfs от unionfs. Чеб в ман не лезть :wink:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-07-14 20:14:54

я даже показал :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-07-14 20:16:23

совсем вкратце - можно содержимое нескольких директорий смонтировать в одну.
========
можно сделать чтобы содержимое исходной не менялось, однако работая в смонтированной директории файлы будут меняться - вернее их копии, видимые только тебе.
короче - интересная штука.
Убей их всех! Бог потом рассортирует...

Andy
ст. лейтенант
Сообщения: 1117
Зарегистрирован: 2007-03-04 7:48:58
Откуда: Mytischi

Непрочитанное сообщение Andy » 2007-07-14 21:18:47

lissyara писал(а):совсем вкратце - можно содержимое нескольких директорий смонтировать в одну.
========
можно сделать чтобы содержимое исходной не менялось, однако работая в смонтированной директории файлы будут меняться - вернее их копии, видимые только тебе.
короче - интересная штука.
А как насчет один диск, к примеру с ntfs в директорию смонтировать? null этого не позволяла вроде.
Jul 16 19:37:15 freebsd sshd[4152]: Invalid user idiot from 210.75.200.104

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-07-14 21:21:14

непонял...
Убей их всех! Бог потом рассортирует...

Andy
ст. лейтенант
Сообщения: 1117
Зарегистрирован: 2007-03-04 7:48:58
Откуда: Mytischi

Re: Скрипт для создания силинков

Непрочитанное сообщение Andy » 2007-07-15 8:48:04

В системе 2 диска, один ntfs, другой ufs. У меня, к примеру, ftp в nix'е поднято. Я хочу c:\music сделать доступной всем пользователям, в
результате мне надо, не перенося данные, сделать доступной музыку с другого винта, допустим в каталоге /home/andy. Как ты писал в статье, nullfs этого не позволяет. Может ли такую возможность дать unionfs?
Jul 16 19:37:15 freebsd sshd[4152]: Invalid user idiot from 210.75.200.104

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Скрипт для создания силинков

Непрочитанное сообщение Alex Keda » 2007-07-15 9:01:13

а ты попробуй.
у меня NTFS нету - поэтому попробовать не могу.
Убей их всех! Бог потом рассортирует...