# exporter komut satırı

Dışa aktarımlarınızı Terminal'den, cron'dan, yedekleme araçlarından ve ajanlardan çalıştırın.

`exporter`, penceresiz çalıştırılan Exporter Mac uygulamasıdır. Uygulamada kurduğunuz bağlantıları, dışa aktarma klasörlerini, seçimi ve ayarları kullanır ve aynı dışa aktarma günlüğüne yazar. Uygulama kapalıyken de çalışır ve asla soru sormaz: eksik olan her şey çalıştırmayı 2 çıkış koduyla ve ne yapılması gerektiğini söyleyen tek bir satırla durdurur. Yalnızca macOS.

## Kurulum

1. Exporter'ı Mac App Store'dan ([indir](https://exporter.dev/download)) yükleyin ve açın.
2. Bir uygulamayı (Apple Notes, Bear, Logseq, Kişiler, Mesajlar ya da Ekran Süresi) veya bir Belgeler klasörünü bağlayın ve dışa aktarma klasörünü seçin ([başlarken](https://exporter.dev/docs/getting-started)). Bu izinler yalnızca uygulamada verilebilir.
3. Uygulamanın Komut Satırı kartında "kurulum komutunu kopyala" düğmesine basın ve komutu Terminal'e bir kez yapıştırın.

Uygulama sanal alanda çalışır ve PATH'inize yazamaz; son adımın bir yapıştırma olmasının nedeni budur. Satır, `/opt/homebrew/bin` klasörü varsa ve size aitse `exporter` komutunu oraya (sudo olmadan), yoksa sudo ile `/usr/local/bin` klasörüne yükler. Tekrar yapıştırmak güvenlidir; orada ne varsa onun yerine geçer. `exporter help install`, Mac'iniz için satırı yazdırır.

## Kaynaklar

`--source` bunlardan birini alır:

| kaynak | bunlar da kabul edilir | yazdığı |
| --- | --- | --- |
| `apple` | `apple-notes`, `applenotes`, `notes` | markdown ya da html |
| `bear` | | markdown ya da html |
| `logseq` | | her zaman markdown |
| `contacts` | `apple-contacts`, `addressbook` | her zaman markdown |
| `messages` | `imessage`, `chats`, `conversations` | her zaman markdown |
| `screentime` | `screen-time`, `usage` | her zaman markdown, gün başına bir dosya |
| `documents` | `docs`, `files`, `pdf` | Documents kartında işaretlenen biçimler |

## Biçimler

`--format`, `markdown` (ya da `md`) veya `html` alır; büyük/küçük harf fark etmez. Başka bir değer `error: --format pdf: expected markdown | html` ile ve 64 çıkış koduyla durur.

- bu bayrak olmadan `sync` her uygulamayı kartında ayarlanan biçimde yazar (Apple Notes ve Bear için ayrı ayrı ayarlanır), `export` ise dışa aktardığı uygulamanın ayarını yazar; geçerli ayarları `exporter help sync` ve `exporter help export` gösterir
- Logseq, Kişiler, Mesajlar ve Ekran Süresi her zaman markdown yazar, Belgeler ise kartında işaretlenen biçimleri yazar; bu yüzden bunlar için `--format html` bir notla yok sayılır: `note: logseq export is always markdown, so --format is ignored for this source.`
- Apple Notes her not için bir `.html` sayfası yazar ([HTML biçimi](https://exporter.dev/docs/notes#markdown-and-html)); ekler yanındaki `attachments/` klasörüne kopyalanır ve bağlanır, front matter yoktur. Bear HTML'si ise bir `<pre>` içindeki düz not metnidir, biçimlendirme yoktur ve ek başvuruları Markdown metni olarak kalır: dosyalar kopyalanır, bağlanmaz
- MCP sunucusu yalnızca markdown dosyalarını okur, bu yüzden yalnızca HTML olan bir dışa aktarım onun için görünmezdir
- Apple Notes ve Bear her çalıştırmada tek biçim yazar; ikisini tek eşitlemede yalnızca Belgeler yazar. Bir çalıştırma yalnızca kendi biçimindeki eski dosyaları kaldırır, bu yüzden biçim değiştirmek diğer biçimin dosyalarını klasörde bırakır. İki biçim için de her birine kendi klasörünü verin:

```sh
exporter export --dest ~/Backups/notes-md   --format markdown
exporter export --dest ~/Backups/notes-html --format html
```

## sync

Uygulamada yapılandırdığınız dışa aktarımı bir kez, artımlı olarak, uygulamanın dışa aktarma klasörlerine çalıştırır.

```sh
exporter sync [--source <source>]... [--format markdown|html] [--full] [--json] [--quiet]
```

| bayrak | ne yapar | varsayılan |
| --- | --- | --- |
| `--source <source>` | yalnızca bu uygulama, tekrarlanabilir | bağlı her uygulama; bağlı olmayanlar atlanır |
| `--format markdown\|html` | yalnızca bu çalıştırma için, uygulama ayarınız değişmez. Diğer biçimle aynı dışa aktarma klasörüne yazılır; ikisini de tutmak için her birini `export --dest` ile kendi klasörüne dışa aktarın | uygulama ayarınız |
| `--full` | her şeyi yeniden dışa aktarır. Yazmadan önce yalnızca Exporter'ın yazdığı dosyaları kaldırır; dışa aktarma klasöründeki diğer her şey kalır | kapalı |
| `--json` | makine tarafından okunabilir bir özet | kapalı |
| `--quiet`, `-q` | yalnızca hatalar | kapalı |

```sh
exporter sync --source apple
```

```text
apple notes: exporting…
apple notes: 1204 of 1204 exported · 3 removed · 18.2s · markdown → /Users/me/Documents/notes
```

Özet satırı `<source>: <succeeded> of <selected> exported` biçimindedir; ardından varsa `N failed`, `N removed` (silinen, yeniden adlandırılan ya da taşınan öğelerin dosyaları), `N attachment issues`, sonra süre, biçim ve yazılan klasör gelir.

Uygulama çalışıyorsa `sync` hiçbir şey dışa aktarmaz, 0 ile çıkar ve `Exporter is running: real-time sync is live, the export root is already current.` yazdırır.

## export

Anlık görüntüler ve betikler için, seçtiğiniz bir klasöre tek seferlik bir dışa aktarım. Uygulama açıkken de sorunsuz çalışır.

```sh
exporter export --dest <folder> [--source <source>] [--format markdown|html] [--organize folders|tags|smart] [--folder "Name"]... [--tag name]... [--dry-run] [--json] [--quiet]
```

| bayrak | ne yapar | varsayılan |
| --- | --- | --- |
| `--dest <folder>` | zorunlu. Uygulamanın Komut Satırı kartında ("klasör ekle…") izin verilmiş bir klasörün içinde olmalıdır. `~/Backups` için verilen bir izin, altındaki her klasörü kapsar | yok |
| `--source <source>` | dışa aktarılacak uygulama | `apple` |
| `--format markdown\|html` | bu çalıştırmanın biçimi | uygulama ayarınız |
| `--organize folders\|tags\|smart` | yalnızca Apple Notes: notların klasörlere nasıl yerleştirileceği | uygulama ayarınız |
| `--folder "Name"` | yalnızca bu Apple Notes klasörü, tekrarlanabilir, ad büyük/küçük harf ayrımı olmadan eşleşir | uygulamada kaydedilen seçim |
| `--tag name` | yalnızca bu etiket, tekrarlanabilir, Apple Notes ya da Bear | uygulamada kaydedilen seçim |
| `--dry-run` | neyin dışa aktarılacağını yazdırır, hiçbir şey yazmaz | kapalı |
| `--json`, `--quiet` (`-q`) | sync ile aynı | kapalı |

`--folder` ya da `--tag` olmadan Apple Notes ve Bear, uygulamada kaydedilen seçimi dışa aktarır. Logseq tüm grafı, Kişiler her kartı, Mesajlar her sohbeti, Ekran Süresi her günü dışa aktarır; filtreler bunlar için bir notla birlikte yok sayılır.

```sh
exporter export --dest ~/Backups/notes-$(date +%F)
exporter export --dest ~/Backups/work --folder "Work" --format html
exporter export --dest ~/Backups/bear --source bear --tag journal
exporter export --dest ~/Backups/people --source contacts
exporter export --dest ~/Backups/papers --source documents
exporter export --dest ~/Backups/notes --dry-run
```

```text
would export 100 apple notes · markdown → /Users/me/Backups/notes
```

## list

```sh
exporter list sources|folders|tags|dests [--source apple|bear] [--json]
```

| liste | ne gösterir | JSON |
| --- | --- | --- |
| `sources` | bağlı olsun olmasın her uygulama, sayısıyla birlikte. Belgeler listelenmez | `[{"source": "apple", "connected": true, "notes": 1204}, {"source": "messages", "connected": true, "conversations": 1532}, {"source": "bear", "connected": false}]`; logseq için `pages`, `contacts` ve `screen-time` için `days` ile |
| `folders` | not sayılarıyla Apple Notes klasörleri, derinliğe göre girintili. `--source bear` bir hatadır (çıkış 64) | `[{"name": "Work", "notes": 42, "level": 0}]` |
| `tags` | sayılarıyla etiketler, varsayılan olarak Apple Notes, `--source bear` ile Bear | `[{"name": "journal", "notes": 12}]` |
| `dests` | `export --dest` komutunun yazabileceği klasörler ve her uygulamanın dışa aktarma klasörü | `[{"path": "/Users/me/Backups", "kind": "granted"}]`; `kind` değeri `granted`, `granted, volume not mounted` ya da `export root (apple-notes)` olur |

```sh
exporter list folders --json
```

```json
[{"name": "Work", "notes": 42, "level": 0}]
```

## status

```sh
exporter status [--json]
```

```text
apple notes    connected · last export 2026-09-11 03:00
bear           not connected
logseq         not connected
contacts       not connected
messages       connected · last export 2026-09-11 03:01
screen time    not connected
documents      not connected
root (apple-notes)  /Users/me/Documents/notes
root (messages)  /Users/me/Documents/messages
destinations   /Users/me/Backups
version        3.24 · free · 100 of 100 free notes used
messages       free · 10 of 10 free conversations used
app            not running
```

`--json` ile: `apple-notes`, `bear`, `logseq`, `contacts`, `messages`, `screen-time`, `documents` adlı uygulamaların her biri için bir nesne, her biri `{"connected": true, "lastExport": "2026-09-11 03:00"}` (hiç dışa aktarılmadıysa `null`); `destinations` (yollar); `tier` (`full` ya da `free`, Apple Notes kilidi) ve `freeNotesUsed`; `contactsTier` ve `freeContactsUsed`; `messagesTier` ve `freeConversationsUsed`; `screenTimeTier` ve `freeDaysUsed`; `appRunning`. Saatler yereldir, `yyyy-MM-dd HH:mm`.

## log

En yenisi başta olmak üzere son dışa aktarma çalıştırmaları: uygulamanın gösterdiği günlüğün aynısı, her dışa aktarma klasöründen ve izin verilmiş her `--dest` klasöründen. İzin verilmiş bir klasörün altında oluşturulan tarihli klasörler okunmaz; onların kaydı `<folder>/.exporter/` içindedir.

```sh
exporter log [--last N] [--json]
```

| bayrak | ne yapar | varsayılan |
| --- | --- | --- |
| `--last N` | kaç çalıştırma | 10 |
| `--json` | çalıştırma başına bir nesne | kapalı |

```text
2026-09-11 03:00  apple-notes   1204/1204 exported  3 removed  clean  → /Users/me/Documents/notes
```

JSON: `[{"source", "finishedAt", "selected", "succeeded", "failed", "format", "status", "destination", "prunedFiles", "runError"}]`. `status` değeri `clean`, `warnings` (eksik ekler) ya da `failures` olur.

## doctor

Penceresiz dışa aktarımın çalışacağını denetler ve her denetim için bir satır yazdırır: `ok`, altında bir `fix:` satırıyla `FAIL`, `warn` ya da bilgi için `--`.

```sh
exporter doctor
```

Bağlı her uygulamanın veritabanının okunabilir ve dışa aktarma klasörünün yazılabilir olduğunu, kaydedilen her klasör izninin çözümlendiğini, her `--dest` klasörünün yazılabilir olduğunu, dizini ve yüklü komutu denetler. Sonunda sürüm katmanını, uygulamanın çalışıp çalışmadığını ve varsa son çökmeyi gösterir. 0 ile çıkış `all good.`, 2 ile çıkış `N problem(s) found.` yazdırır.

## report

Bir tanılama raporu (uygulama sürümü, macOS ve donanım, bağlantı durumu, son çalıştırmalar, son çökme; not içeriği yok) yazdırır ve panoya kopyalar.

```sh
exporter report [--send] [--email <addr>]
```

| bayrak | ne yapar | varsayılan |
| --- | --- | --- |
| `--send` | raporu bize gönderir ve `sent.` ya da `offline: queued, will send on the next run or app launch.` yazdırır | kapalı |
| `--email <addr>` | size yanıt verebilmemiz için adresinizi ekler | yok |

## help ve version

- `exporter help [topic]`: konular `sync`, `export`, `list`, `status`, `log`, `doctor`, `report`, `cron`, `install`. Bir komutun yardımı, geçerli ayarlarınızı varsayılanlar olarak gösterir
- `sync`, `export`, `list`, `log` ve `report` ayrıca `--help` ya da `-h` alır
- `exporter version` (ya da `--version`, `-v`) `exporter 3.24` yazdırır
- bir terminalde tek başına `exporter` genel bakışı yazdırır ve 64 ile çıkar

## JSON çıktısı

`--json`; `sync`, `export`, `list`, `status` ve `log` ile çalışır. Çıktı, anahtarlar sıralı ve okunaklı biçimde yazdırılır. `sync` ve `export` için `--quiet` ekleyin: o olmadan ilerleme ve not satırları JSON'dan önce stdout'a yazdırılır. `export` tek bir özet nesnesi yazdırır, `sync` ise kaynak başına bir tane olmak üzere `{"runs": [...]}` yazdırır:

```json
{
  "attachmentIssues" : 0,
  "durationSec" : 18.2,
  "failed" : 0,
  "format" : "markdown",
  "root" : "/Users/me/Documents/notes",
  "runError" : null,
  "selected" : 1204,
  "source" : "apple-notes",
  "status" : "clean",
  "succeeded" : 1204
}
```

Uygulama çalışırken `sync` tek satırını yazdırır ve JSON yazdırmaz. Hatalar stderr'e `error: <what happened and what to do>` olarak gider.

## Çıkış kodları

| kod | anlamı |
| --- | --- |
| 0 | tamam, ücretsiz kotanın yarıda kestiği bir çalıştırma dahil |
| 1 | dışa aktarma hataları: bir öğe başarısız oldu, çalıştırma bir hatayla karşılaştı ya da öğe seçip hiçbirini yazmadı |
| 2 | kurulum gerekiyor: uygulama bağlı değil, klasöre izin verilmemiş, klasör ya da etiket bulunamadı, dışa aktarılacak bir şey yok; `doctor` sorun buldu; yüklü komut eski biçimde ya da gösterdiği uygulama artık yok |
| 64 | kullanım: bilinmeyen komut ya da bayrak, eksik ya da hatalı değer, Bear ile `--folder`, `list folders --source bear`, bir terminalde tek başına `exporter` |

## Dosyalar nereye gider

`sync`, Exporter'da her uygulama için ayarlanan dışa aktarma klasörüne yazar, örneğin `~/Documents/notes` ya da `~/Documents/messages`; `export` ise `--dest` klasörüne yazar. Ana klasörünüz düzeyindeki ya da onun bir altındaki bir klasör, örneğin `~/Documents`'ın kendisi, uygulama başına bir alt klasör alır (`notes-export`, `messages-export` ve benzeri); daha derindeki bir klasör olduğu gibi kullanılır. Özet satırı (oktan sonra) ve JSON'daki `root` gerçek klasörü gösterir.

Her dışa aktarma klasörü `.exporter/last-export.json` ve `.exporter/last-export.md` (son çalıştırma) ile `.exporter/history/` (son 50 çalıştırma) içerir. Apple Notes, Kişiler, Mesajlar, Ekran Süresi ve Belgeler ayrıca bir çalıştırmanın yazdığı her dosyayı listeleyen `.exporter/files.json` dosyasını tutar: sonraki çalıştırma yalnızca burada listelenen ve artık hiçbir öğenin üretmediği dosyaları kaldırır (Ekran Süresi bir gün dosyasını asla kaldırmaz). Bear ve Logseq de sildiğiniz, yeniden adlandırdığınız ya da etiketini değiştirdiğiniz notların dosyalarını sonraki çalıştırmada kaldırır. Apple Notes ve Logseq dışa aktarımları ayrıca Obsidian görünümleri içeren `bases/` alır.

## Ücretsiz kota

Komut satırının kotaları uygulamanınkiyle aynıdır:

| uygulama | ücretsiz |
| --- | --- |
| Apple Notes | 100 not |
| Kişiler | 100 kişi |
| Mesajlar | en son 10 sohbet |
| Ekran Süresi | ilk eşitlemedeki en son 10 gün ve yalnızca onlar: sonraki günler için kilit açma gerekir |
| Belgeler | en son değiştirilen 10 belge |
| Bear ve Logseq | sınırsız |

Önceden dışa aktarılmış öğeler ücretsiz yeniden eşitlenmeye devam eder; kota yalnızca yenilerini durdurur. Kotaya ulaşan bir çalıştırma yine de izin verileni dışa aktarır, 0 ile çıkar ve bir not yazdırır (`--quiet` altında değil):

```text
note: 42 note(s) skipped: free version limit (100 of 100 free notes). upgrade in the app to export everything.
note: 58 contact(s) skipped: free version limit (100 of 100 free contacts). unlock contacts in the app to export everything.
note: 1522 conversation(s) skipped: free version limit (10 of 10 free conversations). unlock messages in the app to export everything.
note: 11 day(s) skipped: free version limit (10 of 10 free days). unlock screen time in the app to archive every day.
note: 5 document(s) skipped: free version limit (10 of 10 free documents). unlock documents in the app to convert every one.
```

`status --json`, Apple Notes, Kişiler, Mesajlar ve Ekran Süresi için katmanı ve kullanılan sayıyı taşır. Sınırlı her uygulamanın kilidi Exporter içinde, [fiyatı ülkeye göre belirlenen](https://exporter.dev/pricing) kendi tek seferlik uygulama içi satın almasıyla açılır; abonelik yok, web'de ödeme yok. Komut satırı satın almayı her çalıştırmada okur; App Store 5 saniye içinde yanıt vermezse çalıştırma ücretsiz kotayla devam eder.

## Zamanlama

`exporter help cron`, bu satırları Mac'inizdeki komutun tam yoluyla yazdırır: onu kullanın, çünkü cron'un PATH'i yükleme klasörünü içermeyebilir. Bir crontab içinde `%` karakterini `\%` olarak kaçışlayın:

```sh
0 3 * * * exporter sync
0 3 * * * exporter export --dest ~/Backups/notes-$(date +\%F)
```

Carbon Copy Cloner ve diğer yedekleme araçları için `exporter sync` komutunu bir ön hazırlık betiği olarak çalıştırın ve çıkış koduna göre dallanın. Komut, oturum açmış kimse yokken macOS onu askıya aldığında bile tüm dışa aktarım boyunca bağlı kalır. Uygulama çalışırken, penceresi açık da olsa kapalı da olsa, `sync` hiçbir şey yapmaz: gerçek zamanlı eşitleme klasörü zaten güncel tutar.

## MCP sunucusu

Claude, Cursor, VS Code ve diğer istemcilerin dışa aktarımlarınızda arama yapıp onları okumasını sağlayan yerel MCP sunucusunu komut satırı değil uygulama çalıştırır, `http://localhost:8744/mcp` adresinde. Başlatılmasından altı aracına kadar onunla ilgili her şey [MCP sunucusu sayfasında](https://exporter.dev/docs/mcp).

## Sorun giderme

Önce `exporter doctor` çalıştırın; başarısız olan her denetim kendi çözümünü yazdırır. [Yardım](https://exporter.dev/docs/help) uygulamanın mesajlarını da kapsar.

- `X is not authorized`: klasörü (ya da bir üst klasörünü) Komut Satırı kartında ekleyin, sonra yeniden çalıştırın. `exporter list dests` nelere izin verildiğini gösterir
- `apple notes is not set up. open Exporter and connect Apple Notes + an export folder.` (her uygulama için aynısı): onu Exporter'da bağlayın
- `sync`, Exporter'ın çalıştığını yazdırıyor: yapılacak bir şey yok, uygulama klasörü güncel tutuyor. Ayrı bir kopya için `export --dest` kullanın
- `no notes were written. run "exporter doctor" to check folders and permissions.`: çalıştırma not seçti ama hiçbirini yazmadı; `doctor` klasörleri ve izinleri denetler
- `bookmark broken`: klasör taşındı, silindi ya da birimi bağlı değil. Klasörü uygulamada yeniden seçin
- yüklü komut eski biçimde ya da cron ve yedekleme araçları 19 çıkış kodunu görüyor: yükleme komutunu yeniden yapıştırın
- komutu yükledikten sonra uygulama taşındı: yükleme komutunu yeniden yapıştırın
- kilidi açıldı ama çalıştırma ücretsiz diyor: satın alma denetimi en fazla 5 saniye bekler, sonra ücretsiz kotayla devam eder. Yeniden çalıştırın
- doctor'ın açıklayamadığı bir sorun: `exporter report --send --email you@example.com`

## Related

- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [For agents](https://exporter.dev/agents): Skills, command line and MCP for agents
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Changelog](https://exporter.dev/changelog): What changed in each version

---

human version: https://exporter.dev/tr/docs/cli
every page: https://exporter.dev/llms.txt
