Cron, Linux'ta belirli zaman aralıklarında otomatik görev çalıştırmak için kullanılan zamanlayıcıdır. Bug bounty ve pentest'lerde otomasyon, log temizleme, backup ve monitoring için kullanılır.


Cron Temel Kullanım​

bash
# Cron tab'ı düzenle
crontab -e

# Cron tab'ı görüntüle
crontab -l

# Cron tab'ı temizle
crontab -r

# Sistem cron'ları
/etc/crontab
/etc/cron.d/
/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/

Cron Sözdizimi​

text
* * * * * komut
│ │ │ │ │
│ │ │ │ └─── Haftanın günü (0-7, 0=Pazar)
│ │ │ └───── Ay (1-12)
│ │ └─────── Ayın günü (1-31)
│ └───────── Saat (0-23)
└─────────── Dakika (0-59)

Cron Örnekleri​

bash
# Her saat başı
0 * * * * /script.sh

# Her gece 02:00'de
0 2 * * * /backup.sh

# Her Pazartesi 05:00'de
0 5 * * 1 /weekly_report.sh

# Her 5 dakikada bir
*/5 * * * * /monitor.sh

# Her ayın ilk günü 00:00'de
0 0 1 * * /monthly_cleanup.sh

# Çalışma zamanını logla
0 2 * * * /backup.sh >> /var/log/backup.log 2>&1

Pratik Kullanım Senaryoları​

1. Recon Otomasyonu​

bash
# Her gün 03:00'de recon çalıştır
0 3 * * * /home/user/recon/recon.sh hedef.com >> /home/user/recon/recon.log 2>&1

2. Log Temizleme​

bash
# Her gün 00:00'de 30 günden eski logları sil
0 0 * * * find /var/log/ -name "*.log" -mtime +30 -delete

3. Backup​

bash
# Her gece 01:00'de backup al
0 1 * * * tar -czf /backup/daily_$(date +\%Y\%m\%d).tar.gz /var/www/html/

4. Monitoring​

bash
# Her 5 dakikada bir uptime kontrolü
*/5 * * * * curl -s https://hedef.com || echo "DOWN" | mail -s "Site Down" [email protected]

Cron Güvenlik İpuçları​

bash
# Sadece belirli kullanıcılar cron kullanabilir
/etc/cron.allow
/etc/cron.deny

# Cron logları
/var/log/syslog | grep CRON

# Hatalı cron'ları bul
grep -i "failed" /var/log/syslog | grep CRON

Cron vs Systemd Timer​

bash
# Systemd Timer (modern alternatif)
systemctl list-timers

# Timer oluştur
# /etc/systemd/system/myjob.service
[Service]
ExecStart=/script.sh

# /etc/systemd/system/myjob.timer
[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

systemctl enable myjob.timer
systemctl start myjob.timer

🔒 Bu içeriği görmek için giriş yapın

 
Yanıt yazmak için giriş yapmalısınız
Forum özelliklerini kullanmak ve Level 2 üyelik satın almak için hesabınıza giriş yapın.
133,687Konular
3,289,036Mesajlar
324,410Kullanıcılar
Feyzoooo1234Son Üye
Üst Alt