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:
- a) cron arka plan programının çalışıyor olması gerekir (normal koşullar altında durum budur) ve
- 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!