понедельник, 1 августа 2011 г.

Мой скрипт

Для чего нужен данный ксрипт? Сегодня перед мной была поставлена задача: сделать так, чтобы можно было, просто зайдя в директорию с нужными файлами, запустить данный скрипт и, собственно, чтобы пользователь больше ничего не делал. А скрипт быдет запускать задачку на счет, а затем, по выполнению ее, отправлять сообщение на почтовый ящик тому, кто запустил ее, или сразу всем :)
Для этого создаем папку, где будут храниться файлы скрипта, текстового сообщения и остальные нужные вещи. Например, пусть папка будет называться START:

 mkdir /home/username/START
Далее, в скрипте start_prog.sh нужно написать то, что будет делать наш скрипт:

echo Insert, please: [numproc] [program] [input file] [your e-mail] 
read numcore prog inputvar email
if [ $prog = "siesta" ] ; then
 PATHP=/home/username/dir-to-prog/siesta
fi
if [ $prog = "pw" ] ; then
 PATHP=/home/username/dir-to-prog/pw.x
fi
 mpiexec -np $numcore $PATHP < $inputvar > output
mail --subject="Задача $prog завершена" $email < /home/username/START/body.txt

 Данный скрипт запрашивает у Вас количество процессоров для счета (numcore), имя программы (prog), которую Вы будете запускать, имя входного файла для запуска (inputvar) и свой email для отправки отчета (email).
В текстовом файле body.txt будет лежать сообщение, которое Вы получите после выполнения расчета.
Теперь, чтобы все запустилось, делаем файл start_prog.sh  исполняемым:

chmod +x start_prog.sh

Теперь надо сделать так, чтобы наш исходный скрипт myprog можно было бы запускать из любой директории. Я нашел один удобный способ. Нужно отредактировать ~/.bashrc:

nano ~/.bashrc илил gedit ~/.bashrc

и добавляем строчку:

alias myprog='/home/username/START/start_prog.sh' 

Вот и все :) Можно делать подобное, запускать и пробовать. Удачи!

--
Литература:

Комментариев нет:

Отправить комментарий