automation

 

🔧 1. Sistem Açılışından Sonra Otomatik İşlem Başlatma

Kimi görevlerin sistem açıldığında otomatik çalışması istenebilir. Örnekler:

  • Belirli klasörleri yedekleme

  • Spotify, Chrome gibi uygulamaları açma

  • Log dosyalarını temizleme

Bu tür otomasyonlar için cron sisteminden yararlanırız.


⏰ 2. cron Süreci ve crontab Nedir?

🔹 cron:

  • Linux’ta zamanlanmış görevleri yönetir.

  • Arka planda çalışan bir servis/daemon’dur.

  • Sistem açıldığında otomatik başlar.

  • Kullanıcı ve sistem görevlerini periyodik olarak çalıştırır.

🔹 crontab:

  • cron servisine hangi işlemleri ne zaman yapacağını söyler.

  • Her kullanıcı kendi crontab dosyasına sahiptir.

  • crontab dosyası özel bir formata sahiptir ve sadece belirli şekilde yazılmış komutları çalıştırır.


📅 3. Crontab Formatı ve Zaman Alanları

Crontab dosyasındaki her satır şu yapıya sahiptir:

objectivec
MIN HOUR DOM MON DOW CMD
AlanAnlamıÖrnek
MINDakika (0 - 59)15 = her saat 15. dakikada
HOURSaat (0 - 23)3 = sabah 03:00
DOMAyın günü (1 - 31)1 = her ayın 1’i
MONAy (1 - 12)5 = Mayıs
DOWHaftanın günü (0 - 6)0 = Pazar
CMDÇalıştırılacak komutcp -R ~/Documents /var/backups/

📌 Örnek:

bash
0 */12 * * * cp -R /home/cmnatic/Documents /var/backups/

Her 12 saatte bir Documents klasörü /var/backups/ dizinine kopyalanır.


✴️ 4. Wildcard (Joker Karakter - *) Kullanımı

  • Asteriks *, herhangi bir değeri kapsar (her dakika, her gün, her saat gibi).

  • Eğer bir alanı önemsemiyorsan * koyarsın.

📌 Örnek:

bash
30 * * * * echo "Her saat 30. dakikada çalışırım"
bash
* * * * * echo "Her dakika çalışırım"

🌐 5. Online Yardımcı Araçlar

Yeni başlayanlar için cron zamanlarını anlamak zor olabilir. Bu iki site yazımını kolaylaştırır:

  • 🔧 Crontab Generator: Kolay arayüz ile cron komutu oluşturur.

  • 📖 Cron Guru: Girdiğin cron zamanlamasını anlamlı şekilde açıklar.


📝 6. crontab Komutları

crontab -e

  • Mevcut kullanıcının zamanlı görev dosyasını düzenler.

  • İlk çalıştırıldığında editör (nano/vim) seçimi yapmanı ister.

  • Dosyada her satır bir görevdir.

bash
crontab -e

📌 Örnek kullanım:

bash
# Belirli bir dosyayı her gün saat 22:00’de yedekle 0 22 * * * cp /home/user/data.txt /backup/

📄 Diğer Komutlar:

  • crontab -l → Cron görevlerini listele

  • crontab -r → Tüm cron görevlerini sil