# rsync kullanarak dosya aktarımı

![](https://i.imgur.com/R08MunC.png)

## ❌ Bazı Dosyaları Hariç Tutma

<details>

<summary>**`rsync`** kullanarak hariç tutulacak dosya desenlerini belirtmek için aşağıdaki örnekleri kullanabilirsiniz:</summary>

\- \*\*\`.log\`\*\*: .log uzantılı tüm dosyaları hariç tutar. - \*\*\`.png\`\*\*: .png uzantılı tüm dosyaları hariç tutar. - \*\*\`/dirname/\`\*\*: dirname dizinini hariç tutar. - \*\*\`/dirname/\*\`\*\*: dirname dizinindeki tüm dosyaları hariç tutar. - \*\*\`/dirname/file.txt\`\*\*: dirname dizinindeki file.txt dosyasını hariç tutar.

</details>

<details>

<summary>**`rsync`** için birden fazla desen belirtebilirsiniz **`--exclude`** seçeneği ile, örneğin:</summary>

\- Bu \`.pyc\` ve \`.log\` uzantılı tüm dosyaları, ayrıca /tmp/ dizinini hariç tutacaktır.

```bash
rsync -av --exclude=*.pyc --exclude=*.log --exclude=/tmp/ . /path/to/destination
```

</details>

<details>

<summary>Ayrıca, **`--exclude-from`** seçeneğiyle hariç tutulacak dosyaları içeren bir dosya belirtebilirsiniz</summary>

\- \`exclude-list.txt\` dosyasında listelenen desenlerle eşleşen tüm dosyaları hariç tutacaktır. - Dosya, her satıra bir \`pattern\` içermelidir

```bash
rsync -av --exclude-from=exclude-list.txt . /path/to/destination
```

</details>

## 💡 Örnek Kullanım

* Bu komut `exclude-list.txt` dosyasında listelenen dosyaları ve dizinleri hariç tutacaktır
* **`a`** seçeneği arşivleme modunu etkinleştirir, yani dosya meta verilerini (öznitelikleri, izinleri, vb.) korur.
* **`v`** seçeneği etkinleştirilirse, rsync'in ne yaptığını gösterir.
* **`z`** seçeneği etkinleştirilirse, dosyaları sıkıştırır ve yükleme sırasında çıkarır.
* **`e ssh`** seçeneği rsync'in SSH ile nasıl bağlantı kuracağını belirtir.
* `E`, ile dosya içerisindeki `Icon` gibi bilgiler de aktarılır
* `r`, ile alt dizinlerde de ilerler
* `t`, dosyanın son değişiklik bilgisini korur

```bash
rsync -avz --exclude-from=exclude-list.txt -e ssh /local/path/ user@remote-server:/path/to/destination
```

```bash
*.log
/tmp/
```
