Yeniden Başlatma veya Başlatma Sırasında Komutları/Komut Dosyalarını Otomatik Olarak Çalıştırma


Bir Linux sistemini başlatıp oturum açtığımda perde arkasında olup bitenler beni her zaman büyülemiştir. Çıplak bir metal üzerindeki güç düğmesine basarak veya sanal bir makineyi başlatarak, bazen bir dakikadan daha kısa bir sürede, tamamen işlevsel bir sisteme yol açan bir dizi olayı harekete geçirirsiniz. Aynı durum, oturumu kapattığınızda ve/veya sistemi kapattığınızda da geçerlidir.

Bunu daha ilginç ve eğlenceli kılan şey, işletim sisteminin önyüklendiğinde ve oturum açtığınızda veya oturumu kapattığınızda belirli eylemleri yürütmesini sağlayabilmenizdir.

Bu distro-agnostik makalede, Linux'ta bu hedeflere ulaşmanın geleneksel yöntemlerini tartışacağız.

Not: Oturum açma ve oturum kapatma etkinlikleri için ana kabuk olarak Bash'in kullanıldığını varsayacağız. Farklı bir yöntem kullanırsanız bu yöntemlerden bazıları işe yarayabilir veya çalışmayabilir. Şüpheniz varsa kabuğunuzun belgelerine bakın.

Yeniden Başlatma veya Başlatma Sırasında Linux Komut Dosyalarını Çalıştırma

Başlangıç sırasında bir komutu yürütmek veya komut dosyalarını çalıştırmak için iki geleneksel yöntem vardır:

Yöntem #1 – Bir cron İşi kullanın

Bir programı belirtmek için yaygın olarak kullanılan olağan formatın (dakika/saat/ayın günü/ay/haftanın günü) yanı sıra, cron zamanlayıcı ayrıca @reboot kullanımına da izin verir. Betiğin mutlak yolunu takip eden bu yönerge, makine önyüklendiğinde betiğin çalıştırılmasına neden olacaktır.

Ancak bu yaklaşımın iki uyarısı vardır:

  1. a) cron arka plan programının çalışıyor olması gerekir (normal koşullar altında durum budur) ve
  2. b) komut dosyası veya crontab dosyası, ihtiyaç duyulacak ortam değişkenlerini (varsa) içermelidir (daha fazla ayrıntı için bu StackOverflow başlığına bakın).

Yöntem #2 – /etc/rc.d/rc.local kullanın

Bu yöntem systemd tabanlı dağıtımlar için bile geçerlidir. Bu yöntemin çalışması için /etc/rc.d/rc.local dosyasına aşağıdaki şekilde yürütme izinleri vermelisiniz:

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

ve komut dosyanızı dosyanın altına ekleyin.

Aşağıdaki resimde, cron< kullanılarak iki örnek komut dosyasının (/home/gacanepa/script1.sh ve /home/gacanepa/script2.sh) nasıl çalıştırılacağı gösterilmektedir. job ve rc.local ve bunların ilgili sonuçları.

#!/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

Her iki komut dosyasına da önceden yürütme izinleri verilmesi gerektiğini unutmayın:

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

Oturum Açma ve Oturum Kapatma Sırasında Linux Komut Dosyalarını Çalıştırma

Oturum açma veya kapatma sırasında bir komut dosyasını çalıştırmak için sırasıyla ~.bash_profile ve ~.bash_logout'u kullanın. Büyük olasılıkla, ikinci dosyayı manuel olarak oluşturmanız gerekecektir. Daha önce olduğu gibi her dosyanın altına betiğinizi çağıran bir satır bırakın ve başlamaya hazırsınız.

Özet

Bu makalede, yeniden başlatma, oturum açma ve oturum kapatma sırasında komut dosyasının nasıl çalıştırılacağını açıkladık. Buraya ekleyebileceğimiz başka yöntemler aklınıza geliyorsa, bunları belirtmek için aşağıdaki yorum formunu kullanmaktan çekinmeyin. Sizden haber almak için sabırsızlanıyoruz!