DOS Bölüm 3 - Görev Zamanlayıcı
6/19/2025Görev Zamanlayıcı, Schtasks, Windows DOS
0 Yorum
Komut satırıyla schtasks aracı kullanılarak görev zamanlayıcı nasıl oluşturulur, çalıştırılır, silinir ve değiştirilir?
Chapter 3 - Görev Zamanlayıcı
Bu bölümde komut satırını kullanarak görev zamanlayıcı , yani yapacağımız görevleri örneğin günlük backup alma, logları temizleme, logları sunucuya yönlendirme gibi görevlerimizi otomatik bir şekilde yaptırabileceğimiz konu olan Görev Zamanlayıcı'dan bahsediyor olacağız.
Komut satırı üzerinden eğer ki görevlerimizi oluşturmak,silmek,değiştirmek,çalışan görevi sonlandırmak gibi işlemleri yapmak istiyorsak eğer bunun için
"schtasks" aracını kullanmamız gerekiyor.
Görev zamanlayıcı "Local System" user'ı ile giriş yaptığı için bu tarz fiili görevleri yapabilmemiz için komut satırını yetkili kullanıcı düzeyinde açmalıyız.
- /create Command Line Switch
Bu switch sayesinde biz görev zamanlayıcı da görevlerimizi oluşturabiliyoruz. /Create command line'ın kendisine ait bazı switchleri vardır bunlar sırasıyla;
/tn : Görev'in ismi (Task Name)
/tr : Çalışacak görev uygulamasının pathini (Full Application Path)
/sc : Görevin nasıl çalışacağı belirtilir. (Schedule type)
Tipleri vardır.
- Minute (Her X dakikada bir görevi çalıştır)
- Hourly (Her X saatte bir görevi çalıştır)
- Daily (günlük)
- Weekly (haftanın belli günleri)
- Monthly (aylık)
- Once (Bir defaya mahsus)
- OnStart (bilgisayar açıldığında)
- OnLogon (her kullanıcı oturum açınca)
- OnIdle (bilgisayar boşta kaldığında)
- OnEvent
/st ve /sd : Start Time (Çalışma saati) ve StartDate (Çalışma Tarihi)
Örnekler :
Minute:
- schtasks /create /tn "Her_Bes_dakika" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc minute /mo 5
Hour:
- schtasks /create /tn "Her_Bir_Saate" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc hourly /mo 1
Daily:
- schtasks /create /tn "Her_Gun_Saat_11_23_de" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc daily /st 11:23
Weekly:
- schtasks /create /tn "Haftanin_3_gunu" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc weekly /d MON,FRIDAY,WED /st 10:00
Monthly:
- schtask /create /tn "Her_Ayin_Biri_Saat_8_de" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc monthly /d 1 /st 08:00
Once:
- schtasks /create /tn "Bir_defaya_mahsus_calisacak" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc once /st 12:00 /sd 02/06/2025
OnStart
- schtasks /create /tn "PC_ACILINCA" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onstart
OnLogon
- schtasks /create /tn "Giris_yaptiginda" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onlogon
OnIdle
- schtasks /create /tn "Bosta_Kaldiginda" /tr "C:\Users\Kerem\Desktop\DosyaYaz.exe" /sc onidle
- /delete Command Line Switch
Eğer ki listeden bir görev silmek istersek:
- schtasks /delete /tn "Görev_İsmi"
- /query Command Line Switch
Eğer ki bir sistem üzerinde çalışan görevleri (tasks) görmek istersek:
- schtasks /query | More
Eğer ki bunların listesini almak istersek (comma separated values)
- schtasks /query /fo csv > output.csv
Eğer ki specific bir görev için kontrol etmek istersek
- schtasks /query /tn "Görev_İsmi"
- /change Command Line Switch
Burda birkaç önemli nokta bulunmaktadır. /create switch ile aynı özelliklere sahiptir ama bir /change switch'de /st ve /sc kullanılamaz. Eğer ki bir görev zamanlayıcının başlangıç saati yada türü değiştirilecek ise silinip baştan oluşturuması gerekir.
Dosyayı değiştirmek istersek (/tr)
- schtasks /change /tn "Görev_ismi" /tr "c:\Yeni_Dosya_Yolu.exe"
Eğer ki Kullanıcıyı değiştirmek istersek
- schtasks /change /tn "Görev_ismi" /ru System
- /run Command Line Switch
Zaman farketmeksizin istediğimiz görevi (task'i) çalıştırmamızı sağlar.
- schtasks /run /tn "Görev_İsmi"
- /end Command Line Switch
Çalışan bir task'i durdurmamızı sağlar.