Menjalankan Cron Sebagai Pengguna Tertentu

a-must-have-cron-job)*foto dari: https://www.sebastien-han.fr/blog/2014/08/18/a-must-have-cron-job-on-your-openstack-cloud/

Ini PR yang nyita kepala sampe 4 harian. Dan baru nemu penyebab dan solusi barusan.

Jadi gini. Saya menjalankan cron untuk rsync file tiap 2 menit sekali. File yang diambil berada di mesin lain di seberang benua sana.
SSH yang diterima hanya untuk user dukun.

Kira-kira begini isi baris rsync nya:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
--progress dukun@192.168.2.2:/home/dukun/data_$(date --date="1 days ago" +"%d%m%Y").txt \
/home/dukun/data_$(date --date="1 days ago" +"%d%m%Y")/. 2>&1 >> /home/dukun/err.log

Trus isi cronjobnya begini:

*/2 * * * * sh /home/dukun/salin.sh 2>&1 >> /home/dukun/err.log

Hasil errornya:

Warning: Permanently added '192.168.2.2' (ECDSA) to the list of known hosts.
Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.0]

Saya menambahkan Cronjob dengan perintah ini (ini salah):

$ sudo crontab -e

Harusnya seperti ini:

$ crontab -u dukun -e

Dah gitu aja.
*brb tutup tiket.

Estu
)*cuti adalah kata lain pindah tempat ngetik.

Advertisements

Rsync dengan Opsi sudo dan Perubahan Kepemilikan

Dulu pernah nulis manual rsync, tapi rasanya ada beberapa opsi yg belum saya tulis. Kali ini, saya butuh untuk menyalin folder dari lokal ke peladen di awan namun lokasi tujuan membutuhkan penggunaan sudo. Caranya? Kurang lebih seperti baris dibawah ini:

rsync -avz -I --progress -e "ssh" --rsync-path="sudo rsync" target user@MACHINE:/opt/tujuan/.

untuk opsi perubahan kepemilikan bisa menggunakan opsi berikut:

-og --chown=user:user

Namun beberapa kali saya belum sukses (env: OSX).

Jadinya make cara lain via ssh kek gini:

ssh user@MACHINE 'sudo chown -R user:user /opt/tujuan'

Dah gitu ajah 🙂

[0] http://serverfault.com/questions/564385/rsync-command-issues-owner-and-group-permissions-doesn%C2%B4t-change

Perintah rsync Sederhana

Cuma nulis sebelum lupa,

$ rsync -av --exclude=x86_64 --progress rsync://alien.slackbook.org/alien/ktown/14.0/4.10.0 .

Hasil dari perintah ini,
menampilkan perintah rsync dengan opsi
-a = archive mode
-v = verbose, menampilkan proses yang terjadi
–exclude=x86_64 = proses rsync tidak berlaku untuk direktori tersebut(exclude=)
–progress = menampilkan detail, file, besarnya, kecepatan rsync dan estimasi waktu
rsync://alien.slackbook.org/alien/ktown/14.0/4.10.0 = target
. = bahwa file hasil rsync diletakkan pada dir aktif sekarang (dir dari konsole)

Untuk opsi lain bisa dengan mengetikkan

$ rsync --help

Semoga bermanfaat
Regard
Tuan Pembual

Panduan Scrip Sedot #debmirror

Panduan Scrip Sedot #debmirror
Dalam proses mirroring, dahulu Onta UIN-SUKA menggunakan script buatan sendiri yang di cron (dijadwalkan). Namun dalam perjalannya kami mendapat saran dari Mas Dion TIM UGOS UGM untuk menggunakan scrip sedot. Dan menemukan panduan ini. Cerita-cerita, kelemahan dari script debmirror dengan cron tersebut adalah kesulitan dalam melihat log dari proses mirrorring. Untuk itu sekarang menggunakan script Sedot yang dibuat oleh Mas Fajran. Kelebihan dari script ini adalah dapat melihat log proses mirroring secara lebih mudah. Tidak hanya itu tapi juga dapat  menampilkan besar ukuran dari repositori yang dimirror.

=== Konfigurasi paket ===

Dalam sedot, konfigurasi sebuah paket diletakkan di folder pkgs/ dan terdiri atas berbagai file. Yang dimaksud paket sedot adalah kumpulan konfigurasi untuk suatu repositori. Misalnya kumpulan konfigurasi untuk repositori ubuntu maka kumpulan ini di sedot dinamakan paket ubuntu.

=== Cara-cara menggunakan sedot ===

=== Install Script Sedot ===

Unduh terlebih dulu script sedot dari launchpa, setelah itu akan terbentuk direktori sedot. Berikut perintahnya :

$ sudo apt-get install bzr
$ bzr branch lp:sedot

Read More