Politikalar: Zamanlanmış Görevler
Tags: liman, pardus, debian, github
Published: 2021-01-11 08:00:33

## **Zamanlanmış Görevler (cron) Politikası**

### **Cronjobs Nedir?**
Unix, Linux ve Linux türevleri (Pardus, Debian, CentOs, Ubuntu vb.) işletim sistemine sahip sunucularda / istemcilerde belirli periyotlarda, belirlediğiniz bir komutun çalışmasını yada bir sayfanın tetiklenmesini sağlayan bir planlayıcıdır. Kısaca bir görevin arka planda otomatik yapılmasını sağlayan bir UNIX aracıdır.

### **Crontab (Cron TABle) Nedir?**
Çalıştırılacak görevi ve görevin çalıstırılacağı zamanı barındıran dosyadır.

Crontab’ın editlenmesi;

```bash
$crontab -e
```

Crontab’da yapılacak işlerin listelenmesi;

```bash
$crontab -l
```

Crontab’da işlerin silinmesi;

```bash
$crontab -r
```
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/gedkooiha3ig273sgyv0.jpg)
**Resim 1:** *Cronjobs*

>**NOT:** haftanın günü (0 – 6)  
>[0] pazar - [1] p.tesi - [2] salı - [3] çarş. - [4] perş. - [5] cuma - [6] c.tesi

> *(yıldız işareti) tümü(her) anlamına gelir. Örnek her gün gibi.

**Örnek:**

Hergün saat 15:30'da /tmp klasöründeki dosyaları silen crontab satırı aşağıdaki gibidir.

```bash
30 15 * * *  rm /home/kullaniciadi/tmp/*`
```

> **dak saat gün/ay ay gün/hafta Çalıştırılma Zamanı**

> 30 0 1 1,6,12 * --> Ocak, Haziran ve Aralık aylarının birinci günü saat 00:30'da

> 0 20 * 10 1-5 -- > Ekim ayının her Pazartesi ve Cuması saat 20:00'de

> 0 0 1,10,15 * *  --> Her ayın 1'inde, 10'unda ve 15'inde gece yarısı (00:00)

> 5,10 0 10 * 1 --> Pazartesileri ve her ayın 10. gününde saat 12:05 ve 12.10'da

**Liman MYS'de Zamanlanmış Görevler (cron) Politikası  Nasıl Uygulanır**

Aşağıda 2 tane örneği  Liman MYS Politikalar arayüzünden yapacağız;

```bash
#1.her pazartesi sabah 3:30 da sistemin bellek kullanımını `/tmp/meminfo` adlı bir metin dosyasına yazan program

30 3 * * 1 root cat /proc/meminfo >> /tmp/meminfo

#2.Her ayın ilk günü sabah 4:10 da `apt update, apt upgrade ` komutunu uygulayan program

10 4 1 * * root (apt update && apt -y -d upgrade) > /dev/null

```
**Liman MYS > Domain Eklentisi > LDAP OU'sundan politika oluşturulan ou seçilir > Obje Türü > Politikalar**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8fsrdreme01vlgcsqunz.png)
**Resim 2:** *Politikalar*

Resim 2 'de numaralandırılmış şekilde yol takip edilir;
1.Domain eklentisine tıklanır
2.LDAP ou'dan daha önce politikayı oluşturduğumuz ou seçilir
3.Obje Türü tıklanır
4.Politikalar seçilir

** Politikalar listesinden *"politikapc2"* politikası tıklanır; **

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/f0ca9gmes7ro3bttg6yl.png)
**Resim 3:** *Politikalar Listesi*

** Açılan pencerede "Makine" (1 numara) seçilerek "Tümü" (2 numara) tıklanır **
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/aewo3kowk33lrakr09jp.png)
**Resim 4:** *Politika Seçimi*

**Açılan listede   *"Zamanlanmış Görevler"* seçilir;**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/b25n88l7sjqljlgcn4ni.png)
**Resim 5:** *Zamanlanmış Görevler Seçimi*

**Aşağıda açılan ekranda Zamanlanmış Görevler politika objesi gözükmektedir, bu ekranda değerler girilerek politika oluşturacağız;**
**Açılan listede   *"Zamanlanmış Görevler"* seçilir;**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/r8t32tp3zijao3cdi9uv.png)
**Resim 6:** *Zamanlanmış Görevler Politika Ekranı*
**Aşağıdaki resimde 2 tane verilen örneği arayüzde oluşturuldu;**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/flahs6et6m17wg3txeuy.png)
**Resim 7:** *Zamanlanmış Görevler Örnekleri*


```bash
#1.her pazartesi sabah 3:30 da sistemin bellek kullanımını `/tmp/meminfo` adlı bir metin dosyasına yazan program

30 3 * * 1 root cat /proc/meminfo >> /tmp/meminfo

#2.Her ayın ilk günü sabah 4:10 da `apt update, apt upgrade ` komutunu uygulayan program

10 4 1 * * root (apt update && apt -y -d upgrade) > /dev/null

```

**Domaindeki parduspc1 istemcide uygulanan politika `/etc/cron.d/tayfa` dosyasında gözükmektedir.**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/o4217eycys45ots0952w.png)
**Resim 8:** *İstemcideki Politika Uygulanması*