Всем всего доброго.
Появилась надобность создать скриптик что бы он выключал компьютер по ssh. Сам написать не могу так как не обладаю навыками. Прошу помочь разобраться в решении задачи. В может быть куда направите. В Гугле уже рыскал, но ничего стоящего не нашел.
Заранее благодарен.
Выключение компа по ssh
команда
shutdown -h howзасунутая в cron для вас выход, и не нужно городить ни каких скриптов, всё уже придумано.
команда
shutdown -n how
правильно: shutdown -h now
Ru_Grey, поставьте корректно задачу, а не размыто как вашем случаи. Здесь телепатов нет. Из вашего же поста я сделал некий вывод:
речь о том что бы не только выкл комп, но и еще выполнить удаленный вход в систему и выключить ее. А иначе смысл тогда от вход а в систему "руками" если можно просто самому погасить ее, без всяких скриптов одной командой.
если так то:
способ номер 1
1) настроить вход системы по ключам, далее использовать halt, а не shutdown -h now(данная комада разрешена только root) конечно же можно настроить что бы и обычный пользователь мог ее выполнять(требуют доп навоки)
2) далее прописать все по cron, и в окружении пользователя то что при его заходе система будет выключена через 300 секунд
(я бы так сделал)
способ номер 2:
прописать в cron команду shutdown и не использовать ssh(только вот зачем? О_о)
в общем как то так :-)
Точно -h пардон не заметил, глаз замылился.
2) далее прописать все по cron, и в окружении пользователя то что при его заходе система будет выключена через 300 секунд
(я бы так сделал)
неправильно.
для одиночного выполнения задачи есть команда at
а crond для периодического выполнения.
drBatty,как вариант: каждый день в 21-00 надо выкл ПК.
drBatty,как вариант: каждый день в 21-00 надо выкл ПК.
плохой вариант - представьте, что вы задержались, и нужно срочно доделать важный проект нужный "вчера". И тут ВНЕЗАПНО комп вырубается. :(
Ну и что вы скажете мудрому админу, который так сделал по ssh с год назад? тогда уж не now, а скажем 20, что-бы юзверь успел прочитать сообщение и отменить. Да и то - эти сообщения вроде только в консоли, а кто из юзверев её читает?
Можно написать скрипт, который в 21:00 начинает проверять скринсейвер, и как только скринсейвер активируется (т.е. юзеру надоело/он уснул) - вырубать компьютер. А так... Жестоко.
плохой вариант - представьте, что вы задержались, и нужно срочно доделать важный проект нужный "вчера". И тут ВНЕЗАПНО комп вырубается.
как вариант: я успеваю все делать,что дальше? Как вариант пользователь сам выкл ПК тогда когда ему это будет необходимо.
как вариант: я успеваю все делать,что дальше? Как вариант пользователь сам выкл ПК тогда когда ему это будет необходимо.
значит спросить надо у юзера. а shutdown ничего не спрашивает.
Да, нужно по требованию то есть по хотению юзера или оператора выключать, время может быть разным утром или вечером.
Именно нужен какой то скрипт. При запуске которого подключение проходило бы по ssh и выключался командой shutdown -h now например.
Ru_Grey, а что пользователь не в состоянии этого сделать сам? или там особая терминальная система может? oO
Ребят. Честное слово смешно. Ну какая разница для чего это надо. Вот захотелось и все тут. Можеь человек просто хочет узнать новые возможности удаленного администва. Давайте зместо вопросов а на фиг это надо или зачем вам это если есть то-то помочь конкрктным советом если знаете.
kOvr1K,
телефонный звонок:
1) привет. ПК выключить можно?
2) да конечно:
$ssh useraname@hostname
password:
Welcome !!!
$
$halt
или
$su -
password:
#shutdown -h now
или
#init 0
(но здесь надо смотреть на дистрибутив, в зачастую этот init X может быть переписан иначе, пример к этому Solaris)
и что здесь придумывать? :[
$ssh useraname@hostname
password:
Welcome !!!
$
$halt
или
$su -
password:
#shutdown -h now
или
#init 0
Что то на скрипт не похоже :)
Ru_Grey, а это и не скрипт, а последовательность действий админа-оператора :-)
Что то на скрипт не похоже
OMG!
скрипт - это последовательность команд
В данном случае тут одной достаточно: halt
Ага. Всего 4 буквы. Что вам ещё надо-то? В определённое время?
man at
По расписанию?
man crond
Кому-то можно, кому-то нельзя?
man sudo
Что ещё?
[quote=Ru_Grey]Что то на скрипт не похоже
OMG!
скрипт - это последовательность команд
В данном случае тут одной достаточно: halt
Ага. Всего 4 буквы. Что вам ещё надо-то? В определённое время?
man at
По расписанию?
man crond
Кому-то можно, кому-то нельзя?
man sudo
Что ещё?[/quote]
Нужен скрипт с помощью которого можно было выключать компьютер. Логиниться по ssh и выключать.
Ru_Grey, oO
вы адекватный человек или нет? вот вам решение: http://linuxforum.ru/viewtopic.php?pid=71194#p71194
что от вас требуется, любая рабочая станция или сервер где присутствует ssh-client и все.
linux/unix:
открываем терминал: пишем $ssh username@host (где usernam - имя пользователя на удаленной системе, host адрес системы, ip или имя) далее водим пароль, и пишем 4 буквы halt, все!
(если ssh-client не установлен, то стави)
windows:
любой ssh-client (putty к примеру)
Нужен скрипт с помощью которого можно было выключать компьютер. Логиниться по ssh и выключать.
хорошо. вот скрипт
#!/bin/sh
ssh example.com "sudo halt"не забудьте вписать в ~/.netrc имя юзера и пароль.
ну и конечно у этого юзера должно иметься право выполнить без пароля sudo halt
drBatty, вообще то sudo лишнее, стандартный пользователь по умолчанию может использовать команду halt, без каких либо привилегий