Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Cara Back Up Database MySQL Harian Otomatis di Linux

Cara Back Up Database MySQL Harian Otomatis di Linux

Cara Back Up Database MySQL Harian Otomatis di Linux - Berikut ini script sederhana dari saya untuk backup database Mysql secara otomatis. Untuk menjalankannya bisa menggunakan cron. Sebelum memulai langkah – langkah di bawah ada paket yang harus anda install terlebih dahulu (jika belum ada) yaitu bzip2 yang berfungsi mengkompress file hasil backup. Untuk distro Debian atau Ubuntu bisa menggunakan perintah berikut:
apt-get install bzip2
Sedangkan langkah installasi script back up-nya adalah sebagai berikut:
Login ke Database Server sebagai root
Buat file seperti di bawah dengan nama backupdb.sh

Simpan file ke suatu directory. Misal ke directory /sbin

Ubah permission file backupdb.sh agar bisa di execute dengan perintah berikut:
chmod + x /sbin/backupdb.sh
Edit crontab dengan perintah berikut:
crontab -e
Tambahkan baris berikut pada file cron:
* 00 * * * /sbin/backupdb.sh
Maksud dari baris di atas adalah menjalankan script /sbin/backupdb.sh pada jam 00 (tengah malam) setiap hari. Detail mengenai crontab akan saya bahas pada artikel yang lain insya Allah.
Simpan file cron dan keluar dari editor
#!/bin/bash
######################################################
# Database Configuration, sesuaikan dengan konfigurasi database Anda
######################################################
db_host=”localhost”
db_user=”root”
db_pass=”password”
######################################################
# Masukkan nama database yang akan di backup berurutan
######################################################
db_name=”db1 db2 db3″
#####################################################
# Nama file backup dibedakan dengan variable waktu, sesuaikan dengan kebutuhan
#####################################################
now=`date +%d%m%Y`
backup_file=”/home/backup/backupdb-$now.sql”
#####################################################
# Simpan database dengan format bz2 ke directory yang sudah di tentukan
#####################################################
mysqldump -h $db_host -u$db_user -p$db_pass –databases $db_name > $backup_file
bzip2 $backup_file
exit 0
Script ini bisa dikembangkan dengan mengirimkan file backup ke ftp server seperti yang pernah saya implementasikan di tempat kerja saya (artikelnya segera akan saya tulis insya Allah).

Demikian script sederhana ini. Mudah-mudahan bisa berguna.. :D

Cara Membuat Proxy Server dengan Squid Pada Debian

Cara Membuat Proxy Server dengan Squid Pada Debian

Cara Membuat Proxy Server dengan Squid Pada Debian - Untuk mengatur penggunaan internet di kantor atau sekolah Proxy Server merupakan suatu hal yang wajib agar user tidak menyalahgunakan fasilitas koneksi internet seperti membuka situs – situs yang tidak baik misalnya situs – situs yang mengandung pornografi, perjudian, kekerasan, dsb. Atau juga mengontrol penggunaan
Berikut ini akan coba saya tulis cara instalasi Proxy Server menggunakan Squid pada Debian dan konfigurasi minimum agar Squid bisa berjalan. Sedangkan untuk konfigurasi tingkat lanjut seperti penambahan rules, blocking situs, bandwidth management akan saya tulis pada artikel yang berbeda Insya Allah.Persiapan

PC yang sudah terinstall Linux. Dalam kasus ini saya menggunakan Debian Lenny. Secara umum langkahnya sama. Perbedaannya hanya pada saat proses installasi paket Squid. Jika pada Debian dan turunannya (Ubuntu dll) menggunakan “apt-get”, pada RedHat dan turunannya (Centos dll) menggunakan “yum”. PC ini harus memiliki paling tidak 2 interface. 1 interface terhubung ke LAN dan 1 lagi ke WAN yang dalam contoh kali ini terhubng ke modem speedy.

Network Topology
Modem Speedy —> Proxy Server —> LAN
Modem Speedy
IP Address : 192.168.0.1
Netmask : 255.255.255.0DNS : 202.134.0.155, 203.130.196.5, 222.124.204.34

Proxy Server
eth0 (connected to Modem Speedy)
IP Address : 192.168.0.2
Netmask : 255.255.255.0
Gateway : 192.168.0.1
eth1 (connected to LAN)
IP Address : 192.168.1.1
Netmask : 255.255.255.0

LAN
IP Address : 192.168.1.2 – 192.168.1.254
Netmask : 255.255.255.0
Default Gateway : 192.168.1.1
DNS Server : 192.168.1.1

Setting Network dan IPtables

Lakukan setting network di Proxy Server dengan mengedit file /etc/network/interfaces (untuk distro selain Debian dan Ubuntu silakan menyesuaikan) sebagai berikut:
auto lo eth0 eth1
iface lo inet loopback
# The primary network interface
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
Restart network untuk mendapatkan efek
/etc/init.d/networking restart

atau
/etc/init.d/networking force-reload
Cek hasil konfigurasi network dengan perintah “ifconfig” (tanpa tanda petik). Pastikan hasil konfigurasi telah sesuai.Edit file /etc/resolv.conf sebagai berikut untuk DNS Server:
nameserver 202.134.0.155
nameserver 203.130.196.5
nameserver 222.124.204.34
Edit file /etc/sysctl.conf dengan menghilangkan tanda # pada baris #net.ipv4.ip_forward=1.
Sebelum:
#net.ipv4.ip_forward=1
Sesudah:
net.ipv4.ip_forward=1
Simpan konfigurasi kemudian aktifkan dengan perintah berikut:
sysctl -p
Lakukan konfigurasi IPtables sebagai berikut:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source 192.168.0.2
iptables -t nat -A PREROUTING -p tcp -i eth1 –dport 80 REDIRECT –to-ports 3128
Baris pertama melakukan source NAT semua paket yang keluar dari eth0 yang terhubung ke modem speedy sehingga semua client di LAN IP Addressnya akan terbaca 192.168.0.2 (IP Address Proxy Server yang terhubung ke modem speedy) oleh modem speedy. Hal ini dilakukan agar semua client di LAN bisa akses internet.
Sedangkan baris ke 2 berfungsi mengalihkan semua paket yang masuk ke eth1 dari LAN yang menuju port 80 (port web server) ke port Squid yaitu port 3128. Tanpa baris ini maka fungsi Squid sebagai proxy server tidak akan bekerja.
Konfigurasi IPtables di atas bersifat sementara. Jika komputer direstart maka konfigurasi IPtables akan hilang. Untuk mengatasi hal ini lakukan langkah – langkah berikut:
Simpan konfigurasi IPtables ke suatu file (dalam contoh ini ke file /etc/iptables.up.rules) dengan perintah berikut:
iptables-save > /etc/iptables.up.rules
Edit file /etc/network/interfaces. Tambahkan baris “post-up iptables-restore < /etc/iptables.up.rules” agar konfigurasi IPtables di load setelah interface up. Setelah diedit hasilnya adalah sebagai berikut:
auto lo eth0 eth1
iface lo inet loopback
# The primary network interface
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
post-up iptables-restore < /etc/iptables.up.rules
Installasi Squid
Setelah network dan Iptables selesai dikonfigure maka tahap selanjutnya adalah installasi Squid. Gunakan perintah berikut:
apt-get install squid
Setelah Squid terinstall lakukan konfigurasi minimum sebagai berikut:
http_port 3128 transparent
cache_dir ufs 20480 16 256
acl localnet 192.168.1.0/24
http_access allow localnet
http_access deny all
Kemudian restart squid dengan perintah berikut:
/etc/init.d/squid restart
Pastikan squid berjalan dengan menggunakan perintah berikut:
ps ax | grep squid
Jika squid telah berjalan maka seharusnya output dari perintah di atas tidak kosong. Atau bisa gunakan utility “nmap” yang terlebih dahulu harus diinstall dengan perintah “apt-get install nmap” (tanpa tanda petik). Ketikkan perintah berikut maka seharusnya ada baris “3128/tcp open squid-http” yang menandakan Squid telah berjalan:
nmap localhost
Install dnsmasq
Tahap selanjutnya adalah menginstall dnsmasq yang berfungsi sebagai caching DNS server (memetakan nama doamin ke IP Address) sehingga di client tidak perlu menggunakan DNS server public (DNS Server speedy.) Hal ini akan mengurangi traffic ke DNS server public sehingga sedikit banyak akan menekan penggunaan bandwidth. Install dnsmasq dengan perintah berikut:
apt-get install dnsmasq
Setalah terinstall cek apakah dnsmasq telah berjalan dengan perintah berikut:
ps ax | grep dnsmasq
Atau bisa juga dengan perintah “nmap localhost” (tanpa tanda petik). Jika dnsmasq telah berjalan maka output perintah tadi akan ada baris “53/tcp open domain”.
Semua konfigurasi telah selesai kita lakukan. Langkah selanjutnya adalah melakukan test dari PC client untuk akses ke internet. Jika halaman web terbuka maka Proxy Server telah berhasil kita buat. Konfigurasi IP Address client bisa dilihat di bagian Network Topology artikel ini.
Langkah selanjutnya adalah membuat rules tambahan untuk mengontrol penggunaan internet. Baik itu blocking situs, bandwidth management, maupun rules lain.

Semoga Bermanfaat.. :D

Perintah-Perintah Dasar Yang Ada Pada Linux

Perintah-Perintah Dasar Yang Ada Pada Linux

Perintah-Perintah Dasar Yang Ada Pada Linux - Berikut beberapa perintah dasar yang ada pada Linux.  Posting ini akan selalu diupdate setiap harinya sebagai langkah penyempurnaan yang nantinya saya harap bisa menjadi cheatsheet bagi Linuxer.

C
cal = menampilkan kalender

Output Perintah cal pada Linux
Output Perintah cal pada Linux

berikut ini adalah beberapa opsi perintah cal yang bisa digunakan:
-3 : melihat bulan sebelum, saat ini, dan yang akan datang
-y : menampilkan bulan tahun ini

Output Perintah cal -3 pada Linux

Output Perintah cal -3 pada Linux

Output Perintah cal -y pada Linux

Output Perintah cal -y pada Linux

bisa juga dengan memberikan parameter bulan dan tahun setelah perintah cal

Output Perintah cal dengan Parameter Tahun pada Linux

Output Perintah cal dengan Parameter Tahun pada Linux

Output Perintah cal dengan Parameter Bulan dan Tahun pada Linux

Output Perintah cal dengan Parameter Bulan dan Tahun pada Linux

cat = melihat isi file
cd = pindah directory
chmod = memodifikasi file atau directory permission
chown = memodifikasi file atau directory ownership
clear = menghapus layar terminal
cp = mengopy file atau directory

D
date = menampilkan tanggal
df = report penggunaan space hardisk
dhclient = mendapatkan ip dhcp
dir = melihat isi directory
du = estimasi ukuran file

E
echo = menampilkan text
eject = eject removable media
exit = keluar dari terminal console

F
fdisk = partition table manipulator
find = pencarian file
free = menampilkan penggunaan memory pada system
ftp = melakukan koneksi ke ftp server

G
groupadd = menambah group
groupdel = menghapus group
groupmod = memodifikasi group

H
halt = mematikan system
hostname = menampilkan atau men-set hostname system

I
ifconfig = mengkonfigurasi atau melihat konfigurasi interface
ifdown = take a network interface down
ifup = take a network interface up
ip = menampilkan atau memanipulasi device, routing. policy routing dan tunnel
iptables = mengkonfigurasi iptables (IPv4 packet filtering and NAT)
iptables-apply = update iptables dari remote
iptables-restore = restore konfigrasi iptables
iptables-save = menyimpan konfigurasi iptables

K
kill = mengirim signal ke sebuah proses
killall = mematikan proses berdasarkan nama proses

L
last = menampilkan list user login terakhir
ln = membuat link file
ls  = melihat isi directory

M
man = menampilkan manual suatu command
mkdir = membuat directory
mount = mount file system
mv = memindahkan atau me-rename file atau directory

P
passwd = mengganti password user
pwd = melihat directory saat ini

R
reboot = reboot/restart system
rm = menghapus file
rmdir = menghapus directory
route = menampilkan atau memanipulasi routing table

S
su = pindah user ID atau menjadi superuser

T
tail = menampilkan 10 baris terakhir suatu file
tar = archiving utility
top = menampilkan task (seperti Windows task manager)
touch = membuat file kosong baru

U
useradd = create user baru
userdel = menghapus user
usermod = modifikasi user
users = menampilkan username user yang login

W
w = melihat informasi user yang login dan task yang sedang dijalankan masing – masing user
whatis = menampilkan deskripsi singkat manual page
wc = menghitung kata, baris dalam file
wget = download file dari URL
whereis = menampilkan lokasi file binary, source, dan manual sebuah perintah
who = melihat informasi user yang login
whoami = menampilkan informasi user ID saat ini.

Semoga bermanfaat.. ^^