

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Unduhan otomatis
<a name="auto-downloads"></a>

The Deadline CLI menyediakan perintah untuk men-download output dari semua tugas dalam antrian yang selesai sejak terakhir kali perintah yang sama berjalan. Anda dapat mengonfigurasi ini sebagai tugas cron atau tugas terjadwal untuk dijalankan berulang kali. Konfigurasi ini mengatur pengunduhan output secara otomatis secara terus menerus.

Sebelum menyiapkan unduhan otomatis, ikuti langkah-langkah di [Profil penyimpanan untuk lampiran pekerjaan guna](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/storage-profile.html) mengonfigurasi semua jalur data aset untuk diunggah dan diunduh. Jika pekerjaan menggunakan jalur keluaran yang tidak ada dalam profil penyimpanannya, maka unduhan otomatis melewatkan mengunduh output itu dan mencetak pesan peringatan untuk meringkas file yang tidak diunduh. Demikian pula, jika pekerjaan dikirimkan tanpa profil penyimpanan, unduhan otomatis melewatkan pekerjaan itu dan mencetak pesan peringatan. Secara default, pengirim Deadline Cloud menampilkan pesan peringatan untuk jalur yang berada di luar profil penyimpanan untuk membantu memastikan konfigurasi yang benar.

## Mengkonfigurasi kredensional AWS
<a name="credentials"></a>

Unduhan otomatis menggunakan CLI Batas Waktu untuk terus mengunduh output pekerjaan. Untuk mengautentikasi unduhan ini, Anda memerlukan kredensil IAM jangka panjang. Deadline Kredenal monitor Cloud kedaluwarsa, jadi Anda tidak dapat menggunakannya untuk tujuan ini. 

 Ikuti langkah-langkah di bawah ini untuk menyiapkan kredensil jangka panjang. 

**penting**  
Perhatikan peringatan berikut:  
**JANGAN** gunakan kredensi root akun Anda untuk mengakses AWS sumber daya. Kredensi ini menyediakan akses akun yang tidak terbatas dan sulit dicabut.
**JANGAN** menaruh kunci akses literal atau informasi kredensi dalam file aplikasi Anda. Jika Anda melakukannya, Anda membuat risiko secara tidak sengaja mengekspos kredensialnya jika, misalnya, Anda mengunggah proyek ke repositori publik.
**JANGAN** sertakan file yang berisi kredensil di area proyek Anda.
Amankan kunci akses Anda. Jangan berikan kunci akses Anda kepada pihak yang tidak berwenang, bahkan untuk membantu [menemukan pengenal akun Anda](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html). Dengan melakukan tindakan ini, Anda mungkin memberi seseorang akses permanen ke akun Anda.
Ketahuilah bahwa setiap kredensil yang disimpan dalam file AWS kredensial bersama disimpan dalam teks biasa.
Untuk detail selengkapnya, lihat [Praktik terbaik untuk mengelola kunci AWS akses di *Referensi AWS Umum*.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#securing_access-keys)

**Mmebuat pengguna IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Pengguna** dan kemudian pilih **Buat pengguna**.

1. Beri nama pengguna**deadline-output-downloader**. Kosongkan kotak centang untuk **Menyediakan akses pengguna ke Konsol Manajemen AWS**, lalu pilih **Berikutnya**.

1. Pilih **Lampirkan kebijakan secara langsung**.

1. Pilih **Buat kebijakan** untuk membuat kebijakan khusus dengan izin minimum yang diperlukan.

1. Di editor JSON, tentukan izin berikut:

------
#### [ JSON ]

****  

   ```
   {
                      "Version":"2012-10-17",		 	 	 
                      "Statement": [
                          {
                              "Sid": "DeadlineCloudOutputDownload",
                              "Effect": "Allow",
                              "Action": [
                                  "deadline:AssumeQueueRoleForUser",
                                  "deadline:ListQueueEnvironments",
                                  "deadline:ListSessions",
                                  "deadline:ListSessionActions",
                                  "deadline:SearchJobs",
                                  "deadline:GetJob",
                                  "deadline:GetQueue",
                                  "deadline:GetStorageProfileForQueue"
                              ],
                              "Resource": "*"
                          }
                        ]
                     }
   ```

------

1. Beri nama kebijakan **DeadlineCloudOutputDownloadPolicy** dan pilih **Buat kebijakan**.

1. Kembali ke halaman pembuatan pengguna, segarkan daftar kebijakan, dan pilih yang baru **DeadlineCloudOutputDownloadPolicy**saja dibuat, lalu pilih **Berikutnya**.

1. Tinjau detail pengguna dan kemudian pilih **Buat pengguna**.

**Buat kunci akses**

1. Dari halaman detail pengguna, pilih tab **Security credentials.** Pada bagian **Access key**, pilih **Buat access key**. 

1. Tunjukkan bahwa Anda ingin menggunakan kunci untuk Lainnya, lalu pilih **Berikutnya**, lalu pilih **Buat kunci akses**.

1. Pada halaman **Ambil kunci akses**, pilih **Tampilkan** untuk mengungkapkan nilai kunci akses rahasia pengguna Anda. Anda dapat menyalin kredensialnya atau mengunduh file.csv.

**Simpan kunci akses pengguna**
+ Simpan kunci akses pengguna dalam file AWS kredensial di sistem Anda:
  + PadaLinux, file tersebut terletak di `~/.aws/credentials`
  + PadaWindows, file tersebut terletak di `%USERPROFILE\.aws\credentials`

  Ganti kunci berikut:

  ```
  [deadline-downloader]
  aws_access_key_id={{ACCESS_KEY_ID}}
  aws_secret_access_key={{SECRET_ACCESS_KEY}}
  region={{YOUR_AWS_REGION}}
  ```

**penting**  
Ketika Anda tidak lagi membutuhkan pengguna IAM ini, kami sarankan Anda menghapusnya agar selaras dengan praktik [terbaik AWS keamanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials). Kami menyarankan Anda meminta pengguna manusia Anda untuk menggunakan kredensi sementara [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)saat mengakses. AWS

## Prasyarat
<a name="auto-downloads-prerequisites"></a>

Selesaikan langkah-langkah berikut sebelum membuat pekerjaan cron atau tugas terjadwal untuk unduhan otomatis.

1. Jika Anda belum melakukannya, instal [Python](https://www.python.org/).

1. Instal CLI Batas Waktu dengan menjalankan:

   ```
   python -m pip install deadline
   ```

1. Konfirmasikan versi CLI Batas Waktu adalah 0.52.1 atau lebih baru dengan perintah berikut.

   ```
   $ deadline --version
   deadline, version 0.52.1
   ```

## Uji perintah unduhan output
<a name="test-output-command"></a>

**Untuk memverifikasi perintah berfungsi di lingkungan Anda**

1. Dapatkan jalan menuju Deadline

------
#### [ Linux and macOS ]

   ```
   $ which deadline
   ```

------
#### [ Windows ]

   ```
   C:\> where deadline
   ```

------
#### [ PowerShell ]

   ```
   PS C:\> Get-Command deadline
   ```

------

1. Jalankan perintah sync-output ke bootstrap.

   ```
     /path/to/deadline queue sync-output \
     --profile deadline-downloader \
     --farm-id YOUR_FARM_ID \
     --queue-id YOUR_QUEUE_ID \
     --storage-profile-id YOUR_PROFILE_ID \
     --checkpoint-dir /path/to/checkpoint/directory \
   ```

1. Anda hanya perlu melakukan langkah ini jika mesin download Anda sama dengan mesin submitting. Ganti `--storage-profile-id YOUR_PROFILE_ID \` di atas dengan`--ignore-storage-profiles`. 

1. Kirim pekerjaan tes.

   1. Unduh file.zip dari GitHub.

      1. Buka [deadline-cloud-samples GitHub repositori](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline).

      1. Pilih **Kode** dan kemudian, dari menu tarik-turun, pilih **Unduh** ZIP.

      1. Buka zip arsip yang diunduh ke direktori lokal.

   1. Jalankan .

      ```
       cd /path/to/unzipped/deadline-cloud-samples-mainline/job_bundles/job_attachments_devguide_output
      ```

   1. Jalankan .

      ```
      deadline bundle submit .
      ```

      1. Jika Anda tidak memiliki pengaturan konfigurasi tenggat waktu default, Anda mungkin perlu menyediakan yang berikut ini di baris perintah.

        ```
        --farm-id {{YOUR-FARM-ID}} --queue-id {{YOUR-QUEUE-ID}}
        ```

   1. Tunggu sampai pekerjaan selesai sebelum melanjutkan ke langkah berikutnya. 

1. Jalankan perintah sync-output lagi.

   ```
    /path/to/deadline queue sync-output \
     --profile deadline-downloader \
     --farm-id YOUR_FARM_ID \
     --queue-id YOUR_QUEUE_ID \
     --storage-profile-id YOUR_PROFILE_ID \
     --checkpoint-dir /path/to/checkpoint/directory
   ```

1. Verifikasi hal berikut:
   + Output pekerjaan pengujian Anda muncul di direktori tujuan.
   + File pos pemeriksaan dibuat di direktori pos pemeriksaan yang Anda tentukan.

## Siapkan unduhan terjadwal
<a name="set-up-scheduled-downloads"></a>

Pilih tab untuk sistem operasi Anda untuk mempelajari cara mengonfigurasi unduhan otomatis setiap 5 menit.

------
#### [ Linux ]

1. **Verifikasi Batas Waktu Instalasi CLI**

   Dapatkan jalur yang tepat ke tenggat waktu yang dapat dieksekusi:

   ```
   $ which deadline
   ```

   Perhatikan jalur ini (misalnya,`/opt/homebrew/bin/deadline`) untuk digunakan dalam file plist.

1. **Buat Direktori Pos Pemeriksaan**

   Buat direktori tempat file pos pemeriksaan akan disimpan. Pastikan izin yang tepat bagi pengguna Anda untuk menjalankan perintah.

   ```
   $ mkdir -p /path/to/checkpoint/directory
   ```

1. **Buat Direktori Log**

   Buat direktori untuk log pekerjaan cron:

   ```
   $ mkdir -p /path/to/logs
   ```

   Pertimbangkan untuk mengatur rotasi log pada file log menggunakan https://www.redhat.com/en/ blog/setting-logrotate

1. **Periksa Crontab Saat Ini**

   Lihat crontab Anda saat ini untuk melihat pekerjaan yang ada:

   ```
   $ crontab -l
   ```

1. **Edit Crontab**

   Buka file crontab Anda untuk diedit:

   ```
   $ crontab -e
   ```

   Jika ini adalah pertama kalinya Anda, Anda mungkin diminta untuk memilih editor (nano, vim, dll.).

1. **Tambahkan Entri Cron Job**

   Tambahkan baris berikut untuk menjalankan pekerjaan setiap 5 menit (ganti jalur dengan nilai aktual dari langkah 1 dan 2):

   ```
   */5 * * * * /path/to/deadline queue sync-output --profile deadline-downloader --farm-id YOUR_FARM_ID --queue-id YOUR_QUEUE_ID --storage-profile-id YOUR_PROFILE_ID --checkpoint-dir /path/to/checkpoint/directory >> /path/to/logs/deadline_sync.log 2>&1
   ```

1. **Verifikasi Instalasi Cron Job**

   Setelah menyimpan dan keluar dari editor, verifikasi pekerjaan cron telah ditambahkan:

   ```
   $ crontab -l
   ```

   Anda harus melihat pekerjaan baru Anda terdaftar.

1. **Periksa Status Layanan Cron**

   Pastikan layanan cron berjalan:

   ```
   # For systemd systems (most modern Linux distributions)
   $ sudo systemctl status cron
   # or
   $ sudo systemctl status crond
   
   # For older systems
   $ sudo service cron status
   ```

   Jika tidak berjalan, mulailah:

   ```
   $ sudo systemctl start cron
   $ sudo systemctl enable cron  # Enable auto-start on boot
   ```

------
#### [ macOS ]

1. **Verifikasi Batas Waktu Instalasi CLI**

   Dapatkan jalur yang tepat ke tenggat waktu yang dapat dieksekusi:

   ```
   $ which deadline
   ```

   Perhatikan jalur ini (misalnya,`/opt/homebrew/bin/deadline`) untuk digunakan dalam file plist.

1. **Buat Direktori Pos Pemeriksaan dan Direktori Log**

   Buat direktori tempat file pos pemeriksaan akan disimpan:

   ```
   $ mkdir -p /path/to/checkpoint/directory
   $ mkdir -p /path/to/logs
   ```

   Pertimbangkan untuk mengatur rotasi log pada file log menggunakan https://formulae.brew. sh/formula/logrotate

1. **Buat file Plist**

   Buat file konfigurasi di `~/Library/LaunchAgents/com.user.deadlinesync.plist` dengan konten berikut (ganti `/path/to/deadline` dengan jalur sebenarnya dari langkah 1):

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
   <dict>
       <key>Label</key>
       <string>com.user.deadlinesync</string>
       <key>ProgramArguments</key>
       <array>
           <string>/path/to/deadline</string>
           <string>queue</string>
           <string>sync-output</string>
           <string>--profile</string>
           <string>deadline-downloader</string>
           <string>--farm-id</string>
           <string>YOUR_FARM_ID</string>
           <string>--queue-id</string>
           <string>YOUR_QUEUE_ID</string>
           <string>--storage-profile-id</string>
           <string>YOUR STORAGE PROFILE ID</string>
           <string>--checkpoint-dir</string>
           <string>/path/to/checkpoint/dir</string>
       </array>
       <key>RunAtLoad</key>
       <true/>
       <key>UserName</key>
       <string>YOUR_USER_NAME</string>
       <key>StandardOutPath</key>
       <string>/path/to/logs/deadline_sync.log</string>
       <key>StartInterval</key>
       <integer>300</integer>
   </dict>
   </plist>
   ```

   Ganti `--storage-profile-id {{YOUR_PROFILE_ID}}` di atas dengan `--ignore-storage-profiles` jika mesin pengunduhan Anda sama dengan mesin pengiriman.

1. **Validasi File Plist**

   Validasi sintaks XMLdari file plist Anda:

   ```
   $ plutil -lint ~/Library/LaunchAgents/com.user.deadlinesync.plist
   ```

   Ini akan mengembalikan “OK” jika file tersebut valid.

1. **Periksa Agen Peluncuran yang Ada atau Luncurkan Daemon**

   Periksa apakah agen peluncuran sudah dimuat:

   ```
   $ launchctl list | grep deadlinesync
   OR
   $ sudo launchctl list | grep deadlinesync
   ```

   Jika ada, bongkar terlebih dahulu:

   ```
   $ launchctl bootout gui/$(id -u)/com.user.deadlinesync
   OR
   $ sudo launchctl bootout system/com.user.deadlinesync
   ```

1. **Buat dan bootstrap**

   Untuk menjalankan tugas ini saat pengguna masuk, jalankan sebagai **LaunchAgent**. Untuk menjalankan tugas ini tanpa pengguna masuk setiap kali mesin berjalan, jalankan sebagai file **LaunchDaemon**.

   1. Untuk menjalankan sebagai **LaunchAgent:**

      1. Gunakan konfigurasi yang dibuat di bawah `~/Library/LaunchAgents/com.user.deadlinesync.plist`

      1. Kemudian muat konfigurasi menggunakan perintah bootstrap:

         ```
         $ launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.user.deadlinesync.plist
         ```

   1. Untuk menjalankan sebagai **LaunchDaemon**:

      1. Pindahkan file Pilst dan ubah izin dengan menjalankan yang berikut ini:

         ```
         $ sudo mv ~/Library/LaunchAgents/com.user.deadlinesync.plist /Library/LaunchDaemons/ 
         $ sudo chown root:wheel /Library/LaunchDaemons/com.user.deadlinesync.plist 
         $ sudo chmod 644 /Library/LaunchDaemons/com.user.deadlinesync.plist
         ```

      1. Muat agen peluncuran menggunakan perintah bootstrap modern:

         ```
         $ sudo launchctl bootstrap system /Library/LaunchDaemons/com.user.deadlinesync.plist
         ```

1. **Verifikasi Status**

   Jika Anda melakukan bootstrap, LaunchAgent jalankan berikut ini untuk mengonfirmasi bahwa itu dimuat:

   ```
   $ launchctl list | grep deadlinesync
   ```

   Jika Anda melakukan bootstrap LaunchDaemon, konfirmasikan bahwa itu dimuat dengan menjalankan:

   ```
   $ sudo launchctl list | grep deadlinesync
   ```

   Outputnya akan terlihat seperti

   ```
   SOME_PID_NUMBER 0 com.user.deadlinesync
   ```

   Untuk informasi status terperinci:

   ```
   $ launchctl print gui/$(id -u)/com.user.deadlinesync
   ```

   Ini menunjukkan keadaan saat ini, argumen program, variabel lingkungan, interval run, dan riwayat eksekusi.

------
#### [ Windows ]

**catatan**  
Tugas terjadwal yang dibuat menggunakan instruksi ini hanya berfungsi saat pengguna masuk.  
Untuk mengaturnya saat startup sistem tanpa memerlukan login pengguna, lihat [Windowsdokumentasi](https://learn.microsoft.com/en-us/windows/win32/taskschd/using-the-task-scheduler) resmi.

Untuk semua langkah di bawah ini gunakan Command Prompt - jalankan sebagai Administrator:

1. **Verifikasi Batas Waktu Instalasi CLI**

   Temukan tenggat waktu yang dapat dieksekusi:

   ```
   C:\> where deadline
   ```

   Perhatikan jalur lengkap (misalnya,`C:\Program Files\Amazon\DeadlineCloud\deadline.exe`) untuk digunakan dalam tugas.

1. **Buat Direktori Pos Pemeriksaan**

   Buat direktori tempat file pos pemeriksaan akan disimpan:

   ```
   C:\> mkdir "path\to\checkpoint\directory"
   ```

1. **Buat Direktori Log**

   Buat direktori untuk log tugas:

   ```
   C:\> mkdir "path\to\logs"
   ```

1. **Buat Pembungkus File Batch**

   Buat file batch dengan konten berikut:

   ```
   C:\> notepad C:\path\to\deadline_sync.bat
   ```

   ```
   YOUR_PATH_TO_DEADLINE.EXE queue sync-output --profile deadline-downloader --farm-id {{YOUR_FARM_ID}} --queue-id {{YOUR_QUEUE_ID}} --storage-profile-id {{YOUR_PROFILE_ID}} --checkpoint-dir path\to\checkpoint\checkpoints > path\to\logs\deadline.log 2>&1
   ```

1. **Uji File Batch**

   Uji file batch secara manual:

   ```
   C:\> .\path\to\deadline_sync.bat
   ```

   Periksa file log yang dibuat:

   ```
   C:\> notepad path\to\logs\deadline_sync.log
   ```

1. **Periksa Layanan Penjadwal Tugas**

   Pastikan layanan Penjadwal Tugas berjalan:

   ```
   C:\> sc query "Schedule"
   ```

   Jika layanan tidak ada, coba nama alternatif:

   ```
   C:\> sc query "TaskScheduler"
   C:\> sc query "Task Scheduler"
   ```

   Jika tidak berjalan, mulailah:

   ```
   C:\> sc start "Schedule"
   ```

1. **Buat Tugas Terjadwal**

   Buat tugas untuk dijalankan setiap 5 menit.

   ```
   C:\> schtasks /create /tn "DeadlineOutputSync" /tr "C:\path\to\deadline_sync.bat" /sc minute /mo 5
   ```

   Kerusakan perintah:
   + `/tn`- Nama tugas
   + `/tr`- Tugas untuk menjalankan (file batch Anda)
   + `/sc minute /mo 5`- Jadwal: setiap 5 menit

1. **Verifikasi Pembuatan Tugas**

   Periksa apakah tugas berhasil dibuat:

   ```
   schtasks /query /tn "DeadlineOutputSync" /v /fo LIST
   ```

   Cari:
   + **Tugas Untuk Jalankan**: Harus menampilkan jalur file batch Anda
   + **Next Run Time**: Harus menunjukkan waktu dalam 5 menit

1. **Eksekusi Tugas Uji**

   Jalankan tugas secara manual untuk menguji:

   ```
   schtasks /run /tn "DeadlineOutputSync"
   ```

   Periksa status tugas:

   ```
   schtasks /query /tn "DeadlineOutputSync"
   ```

------

**Verifikasi pengaturan**

Untuk memverifikasi bahwa pengaturan unduhan otomatis berhasil, selesaikan langkah-langkah berikut.

1. Kirim pekerjaan tes baru.

1. Tunggu satu interval penjadwal selesai, yang dalam hal ini adalah 5 menit.

1. Verifikasi bahwa output baru diunduh secara otomatis.

Jika output tidak diunduh, periksa bagian Pemecahan Masalah untuk log proses.

## Memecahkan masalah unduhan otomatis
<a name="auto-downloads-troubleshooting"></a>

Jika Anda mengalami masalah dengan unduhan otomatis, periksa hal berikut:

### Masalah Profil Penyimpanan
<a name="storage-profile-issues"></a>
+ Kesalahan seperti `[Errno 2] No such file or directory` atau `[Errno 13] Permission denied` dalam file log dapat dikaitkan dengan profil penyimpanan yang hilang atau salah konfigurasi.
+ Lihat [Profil penyimpanan](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/storage-profile-job-attachments.html) untuk informasi tentang cara mengatur profil penyimpanan Anda ketika mesin pengunduhan berbeda dari mesin pengirim.
+ Untuk unduhan mesin yang sama, coba bendera. `--ignore-storage-profiles`

### Izin Direktori
<a name="directory-permissions"></a>
+ Pastikan pengguna layanan penjadwal memiliki:
  + Akses baca/tulis ke direktori pos pemeriksaan
  + Menulis akses ke direktori tujuan keluaran
+ Untuk Linux danmacOS, gunakan `ls -la` untuk memeriksa izin.
+ UntukWindows, tinjau pengaturan Keamanan di folder Properties.

### Memeriksa Log Penjadwal
<a name="checking-scheduler-logs"></a>

------
#### [ Linux ]

1. Periksa apakah layanan cron sedang berjalan:

   ```
   # For systemd systems
   $ sudo systemctl status cron
   # or
   $ sudo systemctl status crond
   
   # Check if your user has cron job correctly configured
   $ crontab -l
   ```

1. Lihat log eksekusi cron:

   ```
   # Check system logs for cron activity (most common locations)
   $ sudo tail -f /var/log/syslog | grep CRON
   $ sudo tail -f /var/log/cron.log | grep deadline
   
   # View recent cron logs
   $ sudo journalctl -u cron -f
   $ sudo journalctl -u crond -f  # On some systems
   ```

1. Periksa log pekerjaan cron spesifik Anda:

   ```
   # View the log file specified in your cron job
   $ tail -100f /path/to/logs/deadline_sync.log
   ```

1. Cari eksekusi pekerjaan cron di log sistem:

   ```
   # Look for your specific cron job executions
   $ sudo grep "deadline.*incremental-output-download" /var/log/syslog
   
   # Check for cron job starts and completions
   $ sudo grep "$(whoami).*CMD.*deadline" /var/log/syslog
   ```

1. Periksa pembaruan file pos pemeriksaan:

   ```
   # List checkpoint files with timestamps
   $ ls -la /path/to/checkpoint/directory/
   
   # Check when checkpoint was last modified
   $ stat /path/to/checkpoint/directory/queue-*_download_checkpoint.json
   ```

1. Periksa file log:

   ```
   $ ls -la /path/to/log/deadline_sync.log
   ```

------
#### [ macOS ]

Melihat Log Eksekusi Agen Peluncuran:

1. Periksa apakah agen peluncuran sedang berjalan:

   ```
   $ sudo launchctl list | grep deadlinesync
   ```

   Output menunjukkan: `PID Status Label` (PID akan `-` saat tidak berjalan saat ini, yang normal untuk pekerjaan interval)

1. Lihat status agen peluncuran terperinci:

   ```
   $ sudo launchctl print system/com.user.deadlinesync
   ```

   Ini menunjukkan riwayat eksekusi, kode keluar terakhir, jumlah proses, dan status saat ini.

1. Lihat log eksekusi agen peluncuran:

   ```
   # View recent logs (last hour)
   log show --predicate 'subsystem contains "com.user.deadlinesync"' --last 1h
   
   # View logs from a specific time period
   log show --predicate 'subsystem contains "com.user.deadlinesync"' --start '2024-08-27 09:00:00'
   ```

1. Paksa menjalankan agen peluncuran untuk pengujian segera:

   ```
   $ sudo launchctl kickstart gui/$(id -u)/com.user.deadlinesync
   ```

   Ini segera memicu pekerjaan terlepas dari jadwal, berguna untuk pengujian.

1. Periksa pembaruan file pos pemeriksaan:

   ```
   # List checkpoint files with timestamps
   $ ls -la /path/to/checkpoint/directory/
   ```

1. Periksa file log:

   ```
   $ ls -la /path/to/log/deadline_sync.log
   ```

------
#### [ Windows ]

1. Periksa apakah layanan Penjadwal Tugas sedang berjalan:

   ```
   C:\> sc query "Schedule"
   ```

   Jika layanan tidak ada, coba nama alternatif:

   ```
   C:\> sc query "TaskScheduler"
   C:\> sc query "Task Scheduler"
   ```

1. Lihat tugas terjadwal Anda:

   ```
   C:> schtasks /query /tn "DeadlineOutputSync"
   ```

1. Periksa file log tugas Anda:

   ```
   # View the log file created by your batch script
   C:> notepad C:\path\to\logs\deadline_sync.log
   ```

1. Periksa pembaruan file pos pemeriksaan:

   ```
   # List checkpoint files with timestamps
   C:> dir "C:\path\to\checkpoint\directory" /od
   ```

------