Kif Teżegwixxi Kmandi/Iskripts Awtomatikament Waqt ir-Reboot jew l-Istartjar


Jien dejjem affaxxinat bl-affarijiet li għaddejjin wara l-kwinti meta nibda sistema Linux u nilloggja. Billi tagħfas il-buttuna tal-enerġija fuq metall vojt jew tibda magna virtwali, tpoġġi f'moviment sensiela ta 'avvenimenti li jwasslu għal sistema kompletament funzjonali - xi kultant f'inqas minn minuta. L-istess jgħodd meta tilloggja u/jew tagħlaq is-sistema.

Dak li jagħmel dan aktar interessanti u divertenti huwa l-fatt li jista 'jkollok lis-sistema operattiva tesegwixxi ċerti azzjonijiet meta tibbotja u meta tidħol jew tiilloggja.

F'dan l-artikolu distro-agnostic aħna ser niddiskutu l-metodi tradizzjonali biex jintlaħqu dawn l-għanijiet fil-Linux.

Nota: Se nassumu l-użu ta' Bash bħala qoxra prinċipali għal avvenimenti ta' logon u logout. Jekk jiġri li tuża waħda differenti, xi wħud minn dawn il-metodi jistgħu jew ma jistgħux jaħdmu. Jekk għandek dubju, irreferi għad-dokumentazzjoni tal-qoxra tiegħek.

Eżekuzzjoni ta 'Scripts Linux Waqt Reboot jew Istartjar

Hemm żewġ metodi tradizzjonali biex tesegwixxi kmand jew tmexxi skripts waqt l-istartjar:

Minbarra l-format tas-soltu (minuta/siegħa/jum tax-xahar/xahar/jum tal-ġimgħa) li huwa użat ħafna biex jindika skeda, cron scheduler jippermetti wkoll l-użu ta '@reboot. Din id-direttiva, segwita mill-mogħdija assoluta għall-iskript, tikkawża li taħdem meta l-magna tibbotja.

Madankollu, hemm żewġ twissijiet għal dan l-approċċ:

  1. a) id-daemon cron irid ikun qed jaħdem (li huwa l-każ f'ċirkostanzi normali), u
  2. b) l-iskrittura jew il-fajl crontab għandhom jinkludu l-varjabbli tal-ambjent (jekk hemm) li se jkunu meħtieġa (irreferi għal dan il-ħajt StackOverflow għal aktar dettalji).

Dan il-metodu huwa validu anke għal distribuzzjonijiet ibbażati fuq systemd. Sabiex dan il-metodu jaħdem, trid tagħti permessi ta' eżekuzzjoni lil /etc/rc.d/rc.local kif ġej:

# chmod +x /etc/rc.d/rc.local

u żid l-iskrittura tiegħek fil-qiegħ tal-fajl.

L-immaġni li ġejja turi kif tħaddem żewġ skripts kampjun (/home/gacanepa/script1.sh u /home/gacanepa/script2.sh) bl-użu ta 'cron job u rc. lokali, rispettivament, u r-riżultati rispettivi tagħhom.

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash
SITE="linux-console.net"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt

Żomm f'moħħok li ż-żewġ skripts għandhom jingħataw permessi ta' eżekuzzjoni qabel:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

L-eżekuzzjoni ta' Linux Scripts fil-Loggn u l-Lout

Biex tesegwixxi script fil-logon jew logout, uża ~.bash_profile u ~.bash_logout, rispettivament. Ħafna probabbli, ser ikollok bżonn toħloq l-aħħar fajl manwalment. Waqqa 'linja li tinvoka l-iskrittura tiegħek fil-qiegħ ta' kull fajl bl-istess mod bħal qabel u tkun lest biex tmur.

F'dan l-artikolu spjegajna kif tmexxi l-iskript waqt il-bidu mill-ġdid, il-logon u l-logout. Jekk tista' taħseb f'metodi oħra li stajna nkludew hawn, tħossok liberu li tuża l-formola tal-kummenti hawn taħt biex tindikahom. Aħna ħerqana li nisimgħu mingħandek!