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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт с перезагрузкой  (Прочитано 3051 раз)

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

Оффлайн it0r

  • Автор темы
  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Скрипт с перезагрузкой
« : 16 Июня 2015, 19:06:39 »
Подскажите, как сделать скрипт, в середине которого идет команда на перезагрузку компа, и после перезагрузки скрипт продолжил бы свою работу со строки, следующей за отправкой компа в перезагрузку.
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн Viveda

  • Активист
  • *
  • Сообщений: 376
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #1 : 16 Июня 2015, 20:48:11 »
Создавать файл с флагом, при запуске скрипта проверять, если стоит - снимать и продолжать выполнение с нужного места. Других вариантов я не вижу. Можно попробовать внутри скрипта флаг ставить, надо попробовать.
WBRGDS, Viveda

Оффлайн it0r

  • Автор темы
  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #2 : 16 Июня 2015, 21:16:29 »
Создавать файл с флагом...

мне мало о чем говорит, если можно - ткинуть где почитать... а так то - начинаю гуглить. Спасибо.

Пользователь решил продолжить мысль 16 Июня 2015, 21:25:16:
и если не сложно - в пример куда нибудь ткнуть...
« Последнее редактирование: 16 Июня 2015, 21:25:16 от it0r »
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн Viveda

  • Активист
  • *
  • Сообщений: 376
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #3 : 16 Июня 2015, 22:20:21 »
Ну как-то так:

#!/bin/sh

#toggle.sh
beforestart () {
echo "Part I"
..
..
touch ~/toggle
}

afterrestart () {
echo "Part II"
..
..
rm ~/toggle
}

if [ -f ~/toggle ]; then
aterrestart
else
beforerestart
fi

exit 0


Что почитать? Ну что-то типа "основы bash". На Хабре было, можно еще поискать.

Пользователь решил продолжить мысль 16 Июня 2015, 23:03:53:
Вместо toggle лучше конечно использовать что-то более уникальное, например:
FILENAME=MyToggleFlag-`date +%d-%m-%Y`
touch $FILENAME
rm $FILENAME


Если включиться на след. день, то пойдет сначала :)
« Последнее редактирование: 16 Июня 2015, 23:03:53 от Viveda »
WBRGDS, Viveda

Оффлайн it0r

  • Автор темы
  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #4 : 16 Июня 2015, 23:51:06 »
цель - облегчить себе установку системы:

на свежеустановленную - запустил скрипт:
удалилось все что не нужно (это есть) - uptget - upgrade - dist-upgrade
перезагрузка
установилось все, что нужно, воткнулись готовые конфиги
перезагрузка...

как то так

Пользователь решил продолжить мысль 16 Июня 2015, 23:52:48:
ладно, спасибо, читаю мат.часть... :)
« Последнее редактирование: 16 Июня 2015, 23:52:48 от it0r »
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6844
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #5 : 17 Июня 2015, 03:31:23 »
it0r,
а нельзя сразу все поставить, а потом перезагрузиться 1 раз и все?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #6 : 17 Июня 2015, 03:54:07 »
я думал start и stop.
man update-rc.d
скрипт.
#!/bin/bash
if [ "$1" == "start" ];then
echo $1>>/var/log/start-stop.log
fi

if [ "$1" == "stop" ];then
echo $1>>/var/log/start-stop.log
fi
Wars ~.o

Оффлайн it0r

  • Автор темы
  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #7 : 17 Июня 2015, 09:41:33 »
it0r,
а нельзя сразу все поставить, а потом перезагрузиться 1 раз и все?

думаю что нет... ведь после dist-upgrade до перезагрузки работает еще старое ядро...
а новое нужно еще и пропатчить...
так что минимум 2 перезагрузки...

Пользователь решил продолжить мысль [time]17 Июнь 2015, 11:34:51[/time]:
...
Что почитать? Ну что-то типа "основы bash"...

ндаааа, так с наскоку - не прокатит... читать, читать....

но натолкнуло на мысь - сделать 3 простых срипта:

script-1.
чистка
...
запись script-2 в автостарт
перезагрузка

script-2.
удалить из автостарта запись о script-2
обновить систему-ядро
запись script-N в автостарт
пререзагрузка

script-N.
удалить из автостарта запись о script-N
автозапуск того что нужно...
stop

Пользователь решил продолжить мысль [time]17 Июнь 2015, 11:37:27[/time]:
ТАКОЙ же механизм возможень?
« Последнее редактирование: 17 Июня 2015, 10:38:11 от it0r »
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн Viveda

  • Активист
  • *
  • Сообщений: 376
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #8 : 17 Июня 2015, 12:07:28 »
Цитировать
ТАКОЙ же механизм возможень?

Можно и так, можно все в один скрипт.
WBRGDS, Viveda

Оффлайн it0r

  • Автор темы
  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Re: Скрипт с перезагрузкой
« Ответ #9 : 17 Июня 2015, 14:52:12 »
ну что же. почитаю, разберусь - слеплю все в один...
а пока: понимание есть, всем спасибо, для менятема закрыта - ставлю "решено".
« Последнее редактирование: 17 Июня 2015, 14:54:02 от it0r »
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

 

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