BDMN
04-02-2010, 20:48
Что хочу сделать:
В post-mount хочу загнать скрипт, проверяющий:
1. Смонтирована ли папка opt на флешке в /opt , если нет - монтировать, если да - ничего не делать.
2. Наличие файла /opt/swap.file , если не находит - сделать его и смонтировать, если нашла но не смонтирован - смонтировать, если уже смонтирован - ничего не делать.
3. Запущены ли процессы rtorrent и smbd, если да - перезапускать, нет - просто запускать.
Пытался сделать так:
#!/bin/sh
if ! [ -d /opt/bin ]; then
mount -o bind,rw,sync,noatime /tmp/mnt/disc0_1/opt /opt
fi
if ! [ -s /opt/swap.file ]; then
{
dd if=/dev/zero of=/opt/swap.file bs=1M count=70 && mkswap /opt/swap.file && swapon /opt/swap.file
}
else
{
swap=`free -o | grep Swap`
swap1="Swap: 0 0 0"
if $swap == $swap1
then
mkswap /opt/swap.file && swapon /opt/swap.file
fi
}
fi
if `top -b -n 1 | grep rtorrent` then
/opt/etc/init.d/S99rtorrent stop && /opt/etc/init.d/S99rtorrent start
else
/opt/etc/init.d/S99rtorrent start
fi
if `top -b -n 1 | grep smbd` then
/opt/etc/init.d/S08samba restart
else
/opt/etc/init.d/S08samba start
fi
выдаёт ошибки в 18 и 23 строчках, монтирует папку, но при подключении ещё одного диска - размонтирует и флешку и диск из /tmp/mnt , swap не монтирует, процессы не запускает/перезапускает.
Фактически - мой первый скрипт, объясните, пожалуйста, что не так делаю?
Заранее спасибо за помощь!
В post-mount хочу загнать скрипт, проверяющий:
1. Смонтирована ли папка opt на флешке в /opt , если нет - монтировать, если да - ничего не делать.
2. Наличие файла /opt/swap.file , если не находит - сделать его и смонтировать, если нашла но не смонтирован - смонтировать, если уже смонтирован - ничего не делать.
3. Запущены ли процессы rtorrent и smbd, если да - перезапускать, нет - просто запускать.
Пытался сделать так:
#!/bin/sh
if ! [ -d /opt/bin ]; then
mount -o bind,rw,sync,noatime /tmp/mnt/disc0_1/opt /opt
fi
if ! [ -s /opt/swap.file ]; then
{
dd if=/dev/zero of=/opt/swap.file bs=1M count=70 && mkswap /opt/swap.file && swapon /opt/swap.file
}
else
{
swap=`free -o | grep Swap`
swap1="Swap: 0 0 0"
if $swap == $swap1
then
mkswap /opt/swap.file && swapon /opt/swap.file
fi
}
fi
if `top -b -n 1 | grep rtorrent` then
/opt/etc/init.d/S99rtorrent stop && /opt/etc/init.d/S99rtorrent start
else
/opt/etc/init.d/S99rtorrent start
fi
if `top -b -n 1 | grep smbd` then
/opt/etc/init.d/S08samba restart
else
/opt/etc/init.d/S08samba start
fi
выдаёт ошибки в 18 и 23 строчках, монтирует папку, но при подключении ещё одного диска - размонтирует и флешку и диск из /tmp/mnt , swap не монтирует, процессы не запускает/перезапускает.
Фактически - мой первый скрипт, объясните, пожалуйста, что не так делаю?
Заранее спасибо за помощь!