Logrotate | Bersih-bersih Kapasitas Hardisk

logs

Biasanya, yang membuat hardisk server penuh adalah ukuran log yang membesar tiap harinya tanpa diurusi. Harusnya ada manajemen log.

Apa yang harusnya dilakukan pada log?

  1. Memecah log dalam satuan waktu, misal log pertanggal dengan format tanggal ISO (*-YYYYMMDD.log).
  2. Menghapus log lama otomatis, misal log 7 hari yg lalu akan dihapus.

Implementasi ?
Logrotate.

Berikut contoh konfigurasi yang biasa saya lakukan:

  • Install logrotate.
    $ sudo apt install logrotate
  • Atur konfigurasi logrotate.
    /path/to/log {
        daily
        missingok
        rotate 7
        size 100M
        compress
        delaycompress
        notifempty
        create 0640 user user
        sharedscripts
    }
    
  • Testing Logrotate
    $ sudo logrotate -vf /etc/logrotate.d/{{ app_name }}
  • Restart service cron

Kalau ada pertanyaan, silahkan tinggalkan komentar. Sekian.

Estu~

Advertisements

Mengoreksi Kapasitas Hardisk Sistem Operasi

Tumis-Tempe
ps: foto tak ada hubungan sama isi postingan

Nah ini sebenarnya sering saya lupa, tapi nyari pas butuh. Mesin penuh, service matik.

Nyari pembagian partisi

# sudo fdisk -l

Nyari kepastian ukuran partisi yang terpakai

# sudo df -h

Nyari ukuran folder pada posisi $(pwd)

# sudo du -sh

Nyari list ukuran deretan folder, demi mengetahui folder mana yang menghabiskan space paling besar

# sudo du -h --max-depth=2 .

Sepertinya itu aja kali ini. Lanjut cara benerinnya diposting selanjutnya. Kalau ada nemu yg lain nanti, akan saya tambahin disini.

Estu~

Upgrade BlankOn Tambora Menjadi BlankOn Uluwatu

Screenshot from 2017-11-13 16-40-47

CATATAN: RESIKO DITANGGUNG SENDIRI.
Penulis tutup mata jika langkah-langkah dibawah ini mengakibatnya keharusan memasang ulang OS di Laptop/PC masing-masing.

Ini adalah surhatan saya. Langkah berikut adalah pengalaman penulis, tidak ada jaminan akan berlaku sama jika diuji orang lain.

Berawal dari; oleh karena suatu sebab musabab, repo Tambora tidak lagi sehat dan beberapa kerjaan saya membutuhkan paket-paket lain. Jadi intinya saya g bisa masang-masang tools buat ngetik aneh-aneh.

Diputuskan: DIST-UPGRADE ke Uluwatu

Kondisi:
Laptop Thinkpad X260, terpasang BlankOn Tambora 64bit.

Karena dipakai kerjaan, jadinya proses ini saya cicil harap-harap cemas.

Step-step nya adalah:

  1. Ganti repo menuju Uluwatu.
    deb http://arsip-dev.blankonlinux.or.id/blankon uluwatu main restricted extras extras-restricted
    
  2. Update dan install kernel baru. Reboot setelah itu.
    sudo apt install linux-headers-amd64 linux-image-amd64
    
  3. Benerin applikasi yg ngaco gegara upgrade kernel (wifi install ulang driver dan virtualbox upgrade sekalian). Reboot setelah itu.
    sudo apt-get install firmware-iwlwifi --reinstall
    sudo sh VirtualBox-5.1*
    
  4. Upgrade aplikasi yg biasa dipakai. Bisa disorting via sudo apt list --upgradable. Aplikasi yang saya upgrade sebangsa Firefox, terminator, calibre dkk. Beberapa paket compiler juga.
    sudo apt install lsb aptitude inkscape vim zsh s3cmd zsync make sudo rsync build-essential tzdata openssh-client nano tar unzip audacious automake firefox xchat curl gedit dpkg gedit git reprepro terminator time wget tree sed bash whois p7zip openssl samba mount unrar mc net-tools nmap cron debootstrap gparted lsb
    
  5. Hapus paket yang bentrok. VLC saya hapus.
    sudo apt remove vlc
    
  6. Kalau sudah yakin, kita mulai dari upgrade. Dalam proses ini ada beberapa pertanyaan terkait ada config yang berubah seperti lsb-release. (Saya lupa yg lain, ada 2-3 kali).
    sudo apt upgrade
    
  7. Lanjut dengan dist-upgrade. Setelah selesai, silahkan reboot. Jangan lupa berdoa (beneran harap-harap cemas ini)
    sudo apt dist-upgrade
    

Step-step setelah selesai dist-upgrade dan masalah-masalah yang timbul:

  1. Bersihkan sisa-sisa paket
    sudo apt clean && sudo apt autoremove
    
  2. Benerin driver touchpad.
    sudo apt install xserver-xorg-input-libinput --reinstall &&
    sudo apt remove --purge xserver-xorg-input-synaptic
    
  3. Atur tap dan natural scrolling dari panduan ini.
    sudo modprobe -r psmouse
    sudo modprobe psmouse
    

    Kemudian buka gnome-control-center, atur sesuai kebutuhan (enable tap dan natural scrolling)

Sudah, itu saja yang saya lakukan.

Beberapa kutu yang masih ada adalah:

  1. Tampilan grub masih biru bawaan Debian, berbeda dari Tambora yg sudah ada khas logo BlankOn di pojok kanan.
  2. Network applet belum muncul.
  3. Paket VLC rusak.

Menuju RC3. Yay!!
Estu, yg mumet mainan Tsung.

RVM over SSH

Bukan materi baru, cuma baru nemu aja solusinya setelah mikir dua hari.

Kasus:

  • Delpoy Ruby on Rails via ssh
    laptop$ ssh estu@ip-mesin "cd ~; deploy.sh"
    
  • Ruby dibantu rvm.

Kendala:

  • Log stdout:
    bundle not found
    

Mitigasi:

Di server via login langsung:

server$ echo $PATH

Ouput tidak sama dengan ‘echo PATH’ dari ssh:

laptop$ ssh estu@ip-mesin "echo $PATH"

Solusi:

    1. Set env dari .bashrc ke /etc/environment. Samakan hasil “echo $PATH”. Kira-kira begini:
      PATH="/home/ubuntu/.rvm/gems/ruby-2.3.3/bin:/home/ubuntu/.rvm/gems/ruby-2.3.3@global/bin:/home/ubuntu/.rvm/rubies/ruby-2.3.3/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ubuntu/.rvm/bin"
      export GEM_PATH=/home/ubuntu/.rvm/gems/ruby-2.3.3:/home/ubuntu/.rvm/gems/ruby-2.3.3@global
      export GEM_HOME=/home/ubuntu/.rvm/gems/ruby-2.3.3
      
    2. Disable env dari .bashrc.
    3. Reboot
    4. Tambahkan opsi –login pada baris ssh dan sederhanakan opsi perintah
      laptop$ ssh estu@ip-mesin  bash --login "./deploy.sh</code>"
      

 

Dah gitu aja.

Selamat istirahat.
Estu~

Molecule, Automate Testing Tool untuk Ansible Roles

logoMolecule

Dulu jaman masih cuma ngetik di chef, adalah tool namanya kitchen-vagrant yang biasa dipakai untuk ujicoba resep di chef (cookbook). Ansible role yang isinya mirip-mirip buku resep (cookbook) di chef juga butuh tool ujicoba. Ditemukanlah repo molecule di github beserta dokumentasinya!

Mencoba menjalankan role ansible dalam virtualbox, kemudian menguji hasil dari role. Untuk tools uji bawaan molecule adalah Testinfra. Memuaskan.

Molecule sendiri ditulis menggunakan python. Namun dalam pemakaian saya saat ini, saya menggunakan serverspec sebagai tools uji yang notabenenya serverspec ditulis dengan ruby. Dyar.

Untuk tipe OS yang saya gunakan adalah debian jessie64 atau xenial64. OS bawaan dari molecule adalah trusty64.

Mari kita coba! Continue reading “Molecule, Automate Testing Tool untuk Ansible Roles”

Membuat Jenkin Jobs dengan Groovy(5); Post Build Steps

logo-jenkinsIni udah masuk step terakhir. Post Build Steps adalah bagian dimana ketika selesai build jobs, jenkins disuruh ngapain lagi.

Saya biasa mengisi di step ini untuk beberapa kerjaan, diantaranya:

  1. Mengirim notifikasi ke slack
  2. Mengirim surel ke pihak-pihak tertentu
  3. Menyimpan file hasil build (save artefak)
  4. Mengunggah file hasil build ke s3
  5. Memanggil jobs lain saat jobs ini sukses.
  6. Dan masih banyak lagi…

Berikut saya lampirkan contoh potongan kode post build steps:

publishers {
archiveArtifacts {
pattern("Release/*.apk")
onlyIfSuccessful()
}
downstream("${app}/StagingDeploy", 'SUCCESS')
mailer('admin@email.com', false, true)
  slackNotifier {...}
s3BucketPublisher {...}
}

Itu saja dari saya. Gistnya bisa diintip disini. Semoga memberi pencarahan.

Estu~

 

Membuat Jenkin Jobs dengan Groovy(4); Build Steps

logo-jenkinsMari lanjut tahap keempat setelah sebelumnya part 1, membahas pengaturan umum dan part 2 SCM (Source Code Management). Bagian ketiga membahas mengenai build trigger. Bagian selanjutnya adalah Build. Atau kata lainnya, pekerjaan apa yg akan dilakukan oleh Jenkins.

Berikut contoh potongan bagian build dalam Jenkins Jobs:

steps {
  gradle {
    tasks('clean')
  }
  shell('''#!/bin/bash -e
echo "hello world"''')
}

Bagian steps, bagian ini bisa diisi dengan bermacam-macam step yang bisa dikerjakan. Modul yang biasa saya pakai adalah gradle, ant, maven, shell, powershell.

Pada potongan diatas saya menggunakan shell yg ada di GNU/Linux. Sehingga memungkinkan memanggil semua perintah yang bisa dijalankan oleh shell GNU/Linux termasuk memangggil binari app lain; semisal npm, calabash, tar dan lain lain. Silahkan berkreasi.

Bagian penting lainnya adalah penggunaan tanda petik:

  1. Untuk menulis perintah dalam satu baris gunakan petik satu
    shell('shell_command')
  2. Untuk menulis perintah dalam beberapa baris gunakan petik 3 kali
    shell('''ini baris satu
    ini baris dua''')

Mungkin ini saja penjelasan singkat mengenai build steps. Potongan kode diatas dapat diintip pada gist berikut. Sampai ketemu di bagian kelima.

Estu~