- - Како покренути скрипте и наредбе за обуставу и наставак у Линуку

Како покренути скрипте и наредбе за обуставу и наставак у Линуку

Најбољи начин за покретање скрипти и наредбисуспендовати и наставити на Линуку пре него што обустави (или након поновног успостављања) користи системд инит систем. То је због чињенице да инит систем директно комуницира са кернелом и системима напајања. Научи да радим са овим алатом ће омогућити било којем кориснику да стекне велику контролу над својим Линук оперативним системом,

Молим вас схватите то неред са инитомСистем на рачунару може бити опасан ако не знате шта радите. Обавезно следите упутства из овог водича што је ближе могуће, како бисте избегли могуће нежељене случајеве.

Не подржава свака модерна дистрибуција Линукасистемд инит систем. Неки у потпуности користе почетнике или нешто друго. У овом туториалу ћемо се фокусирати на системд јер је то најчешће систем иницијације. Ако желите да овај задатак испуните на нечему што не покреће оно што покривамо у овом чланку, погледајте упуте за употребу вашег оперативног система.

Напомена: Корисници Дебиана требало би заменити све инстанце уср / либ / системд / стање спавања са / либ / системд / систем-спавање /

Извођење наредбе пре обуставе

Да бисте покренули скрипту пре суспендовања, ставите било коју датотеку басх скрипта у / уср / либ / системд / систем-слееп / директоријум. Сами скрипти могу учинити било шта, али постоји одређена синтакса коју се морамо придржавати. Започните отварањем прозора терминала. Користећи судо -с, стекните коријенску љуску.

Затим, отворите уређивач нано текста унутар директорија спавања система:

nano /usr/lib/systemd/system-sleep/pre-suspend.sh

Додајте схебанг на почетак скрипте. Додавање тога је критично, а без њега преводилац неће моћи тачно да прочита код и наредбе.

#!/bin/bash/

Следећи део скрипте је "ако". То ће рећи систему за контролу снаге да "ако" систем треба да се заустави и заустави, нешто би се требало догодити. Налепите код испод:

if [ "${1}" == "pre" ]; then
sh /path/to/script/to/run.sh

Промена сх /патх/то/сцрипт/то/рун.сх у скрипту до онога што желите да покренете на свом Линук рачунару (или серверу) пре него што систем падне за суспензију. Имајте на уму да линија непосредно након "ако" не мора бити сх /патх/то/сцрипт/то/рун.сх. Ово можете такође користити за извршавање различитих команди. Све док га басх препозна као команду, покренут ће се.

Посљедњи дио скрипте „прије обуставе“ је додавање дијела „друго ако“. Овај аспект скрипте не треба мењати, јер се у овом примеру бринемо да нешто урадимо пре него што систем се спушта, а не када се пробуди.

elif [ "${1}" == "post" ]; then
# nothing goes here
fi

Када је све додато у датотеку, притисните Цтрл + О да спаси нано.

Покретање наредбе након наставка

Извођење наредбе након настављања делује сличнопокрените нешто пре суспендовања. Једина стварна разлика је уместо додавања наредбе после дела „ако“ скрипте, направили бисте најважнији део кода који се дешава после „елиф“ линије.

Да бисте направили скрипту за наставак наставка, прво додајте схебанг као први ред.

#!bin/bash

У следећем реду додајте део „ако“ скрипте.

if [ "${1}" == "pre" ]; then
# nothing goes here

Са тим мало кода залепљеним у басх скрипту, померите се према доле и залепите одељак „елсе иф“.

elif [ "${1}" == "post" ]; then
sh /path/to/script/to/run.sh
fi

Још једном је у реду написати било шта испод линије „елиф“. Све док је то нормална операција наредбе системд и басх ће је покренути.

Покретање наредби при покретању и наставак

Ако желите да покренете две супротне команде; једанпре суспендовања и поновног прекида, могуће је. То само значи прилагођавање скрипте и додавање линија под линијом 'ако', као и линијом 'елсеиф'.

Као и обично, почните тако што ћете објавити схебанг у скрипту за преводиоца.

#!/bin/bash

Затим залепите иф ако део кода.

if [ "${1}" == "pre" ]; then
# replace with command

Под ако, замените „# замени командом“ било којом наредбом коју желите да покренете пре него што систем падне. Затим пређите на одељак „елиф“ и урадите исто.

elif [ "${1}" == "post" ]; then
#  replace with command
fi

Сачувајте датотеку помоћу Цтрл + О,

Ажурирање дозвола и коришћење скрипте

Све потребне наредбе налазе се у датотеци скрипте, али пре него што се она може покренути, морате ажурирати дозволе. Отворите терминал и учврстите роот помоћу: су или судо -с. Онда:

chmod +x /usr/lib/systemd/system-sleep/pre-suspend.sh

Од сада, кад год обуставите или наставите, требало би да се покрећу прилагођене наредбе унутар скрипте.

Напомена: да ли имате питања о системском спавању? Проверите приручник са ман системд-суспенд.сервице.

Коментари