Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: как правильно написать скрипт.  (Прочитано 2535 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн deniska2

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
  • Учусь долго,но запоминаю навсегда :)
    • Просмотр профиля
как правильно написать скрипт.
« : 24 Августа 2010, 20:50:08 »
Вопрос такой.

имеется скрипт:
file=$1;
echo $file;

mkdir -p /share/tmp/999;
cp -p "$file" /share/tmp/999;
rm -f "$file";
mv /share/tmp/999/* "$file";

Сохранен по пути  /share/aaa.sh
имеется запускающая его команда:
find /share/Download -type f -xdev -exec sh /share/aaa.sh {} \;
Хочу узнать,можно ли поместить команду запуска в сам скрипт,чтобы он запускал сам себя.


И ещё такой вопрос.Как сделать так чтобы этот скрипт запускался например по вторникам.Думал сделать отредактировав crontab.Но после запуска crontab -e получил билибирду,половину понял,а вторую половину нет.

Можно ли для этой цели использовать команду cal и при помощи неё всё замутить.

Такой танец с бубном приходится делать для нормальной работы медиа плеера Popcorn hour c-200 (работает на линуксе)
« Последнее редактирование: 24 Августа 2010, 20:58:24 от Владимир Николаевич »
Ubuntu 12.04

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: как правильно написать скрипт.
« Ответ #1 : 24 Августа 2010, 20:58:57 »
Полистайте
man 5 crontabТам есть примеры.

После этого если что-то не получится, выкладывайте то, что вы там написали, а мы исправим ошибки.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #2 : 24 Августа 2010, 21:04:05 »
чем же именно этот плеер так хорош, что заставляет Вас так танцевать?

Оффлайн deniska2

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
  • Учусь долго,но запоминаю навсегда :)
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #3 : 24 Августа 2010, 21:27:41 »
Цитировать
чем же именно этот плеер так хорош, что заставляет Вас так танцевать?
удобно использовать в связке с ЖК панелью,когда хочется посмотреть какой-нибудь фильм,а комп включать просто лень.

Вот про эту билибирду я говорил:

Эту часть я понял.

Enter command to run:
/bin/sh
Cmd is '/bin/sh'
Spawning.
sh -i
sh-3.00# crontab -e
#-0;1H←[0J
30 * * * * /etc/cron/cron.hourly
02 4 * * * /etc/cron/cron.daily
22 4 * * 0 /etc/cron/cron.weekly
#*/5 * * * * /bin/disktriger.sh

А дальше нет,особенно последнюю строку.

#bt
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~←[1;1H←[24;1H←[0K- /var/spool/cron/crontab.9529 1/6 16%←[1;1H
Ubuntu 12.04

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #4 : 24 Августа 2010, 21:35:03 »
ArcFi Вам недаром писал ;)

http://ru.wikipedia.org/wiki/Cron

Оффлайн deniska2

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
  • Учусь долго,но запоминаю навсегда :)
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #5 : 24 Августа 2010, 21:41:36 »
Спасибо за ссылку,уже читаю.
Ubuntu 12.04

Оффлайн deniska2

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
  • Учусь долго,но запоминаю навсегда :)
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #6 : 30 Августа 2010, 22:35:24 »
Полистайте
man 5 crontabТам есть примеры.

После этого если что-то не получится, выкладывайте то, что вы там написали, а мы исправим ошибки.

Итак,почитал я про cron.Начал немного понимать.Задал вопрос по поводу той лабуды которую не понимал:

~←[1;1H←[24;1H←[0K- /var/spool/cron/crontab.9529 1/6 16%←[1;1H
Ответили так:

Цитировать
crontab -e вызывает редактор vi/vim, который хочет нормальный интерактивный терминал с нормальным типом, а не тот, что предоставляет netcat.
crontab -e делает 2 вещи:
1) Редактирует файл конфигурации cron'а (обычно он находится в /var/spool/cron/crontabs/${USERNAME})
2) После выхода посылает сигнал перечитывания демону crond конфигурационного файла (killall -HUP crond скорее всего)
Это можно заменить копированием файла конфигурации куда-нибудь в шару, его редактированием на компьютере, копированием в nc обратно и ручным "посылом" сигнала.

Скопировал я этот файл под названием root дал команду chmod 777 на запуск.Открыл в редакторе,удалил строки :

#-0
30 * * * * /etc/cron/cron.hourly
02 4 * * * /etc/cron/cron.daily
22 4 * * 0 /etc/cron/cron.weekly
#*/5 * * * * /bin/disktriger.sh
#bt

вписал свою:

* * * * 2 /share/zapusk_difrag.sh

Вопрос такой,может не стоило удалять всё,а нужно было только вписать то, что нужно запускать в файл cron.weekly,ведь cron итак его проверяет.Если да,то что в нём писать (вернее как это правильно написать).


Если можно посмотрите вложения и укажите на недочёты.
Ubuntu 12.04

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #7 : 31 Августа 2010, 01:21:08 »
Цитировать
Вопрос такой,может не стоило удалять всё ...
Однозначно не стоило, верни обратно то что было

Итак если по каким-то причинам ты не можешь запустить vim на компе где нужно прописать задачу в кроне, но при этом можешь выполнять команды. Делай так:
crontab -l > cron.txt
отредактируй доступным для тебя способом файл cron.txt, не удаляя то что умные дяди прописали до тебя если ты не знаешь лучше них что именно ты делаешь, а потом сделай
crontab cron.txt
« Последнее редактирование: 31 Августа 2010, 13:31:08 от VestniK »

Оффлайн deniska2

  • Автор темы
  • Участник
  • *
  • Сообщений: 211
  • Учусь долго,но запоминаю навсегда :)
    • Просмотр профиля
Re: как правильно написать скрипт.
« Ответ #8 : 31 Августа 2010, 22:10:46 »
Спасибо всем за помощь!
Всё вроде запустилось.Вписал свой скрипт в файл заданий cron,перезапустил,после этого при подаче команды crontab -l вижу его в заданиях.Осталось указать cron чтобы он сохранял лог своей работы в отдельный файл,хочу убедиться,что всё верно сделал.

Думаю разберусь сам,так что тему закрываю.
« Последнее редактирование: 31 Августа 2010, 22:13:16 от deniska2 »
Ubuntu 12.04

 

Страница сгенерирована за 0.033 секунд. Запросов: 25.