Satu konfigurasi server dari Microsoft® SQL Server™ untuk menghubungkan server berbeda dengan menggunakan OLE DB. Keuntungan Link Server ini:
• Mengakses server yg berbeda.
• Dapat menjalankan perintah query, update data, dan transaksi pada data heterogen dari sumber yg berbeda.
• Kemampuan untuk menunjukkan data dari sumber berbeda.
Illustrasi
Gambaran dasar tentang fungsi dari Link Server.
Tahapan membuat Link Server :
Untuk membuat Link Server dapat melalui store procedure atau melalui Enterprise Manager. Di sini akan dijelaskan cara membuat link server melalui enterprise manager.
1. Buat system DNS dari Setting --> Control Panel --> Administrator --> Data Source (ODBC)
Jika kita akan menghubungkan antara SQL Server dengan Postgresql, maka buatlan DNS baru dengan cara :
• Klik tombol Add.
• Pilih driver data source.
• Klik finish.
• Input Data Source berupa nama database Postgresql, misalnya DATAKU.
• Input Description keterangan data dari DNS.
• Input Database berupa IP dari database Postgresql.
• Input Server nama database Postgresql yg akan dihubungkan ke Link Server.
• Input User Name userlogin untuk mengakses ke Postgresql.
• Input Password untuk mengakses ke Postgresql.
• Tekan tombol Test untuk memastikan apakah koneksi ke Postgresql berhasil. Setelah berhasil tekan tombol Save.
Gambar DNS.
Gambar New Data Source.
Gambar New ODBC.
2. Setalah OLE DB selesai dibuat, tahapan selanjutanya adalah membuat link server melalui Entriprise Manager, cara menjalankannya adalah sebagai berikut :
• Klik kanan pada tools link server untuk membuat link server yg baru.
• Input Linked server yg merupakan nama link server.
• Pilih Provider Name Microsoft OLE DB Provider for ODBC Driver.
• Input Product Name ole db.
• Input Data Source berupa nama data DNS yg telah kita buat sebelumnya, misalnya DATAKU.
• Pada tab Security, kilk Be made using this security context:
• Input Remote Login, userlogin untuk mengakses ke Postgresql.
• Input With Password, password untuk mengakses ke Postgresql.
• Tekan tombol OK.
Gambar membuat Link Server.
Gambar Link Server tab General.
Gambar link server tab security.
3. Untuk meyakinkan bahwa link server sudah berhasil di buat. Maka link server DATAKU lakukan klik ganda pada table, jika table-table pada database Postgresql tampil berarti link server yg telah berhasil dibuat.
Menjalankan perintah SQL
Gunakan command OPENQUERY pada query analyzer untuk mengecek data link server.
Contoh :
Jika ingin menampilkan data master_produk pada database Postgresql dengan menggunakan query analyzer MS SQL.
Select * from openquery(dataku,’select * from master_produk’);
Selain untuk menampilkan data, perintah openquery ini juga dikombinakan untuk menginsert, mengupdate ataupun menghapus data.
Disamping untuk menghubungkan database MS SQL dengan Postgresql, link server ini juga bisa untuk menghubungkan database yg lain misalnya ORACLE, ACCESS dan lain-lain.
Jumat, 09 April 2010
Selasa, 02 Februari 2010
Backup Database Postgresql selama 7 hari
Backup database ini dilakukan untuk menjaga jika terjadi masalah pada database baik berupa data yg terhapus secara tidak sengaja, hardisk dari tempat penyimpanan data tersebut corrupt dll, maka kita akan membutuhkan data backup ini yg akan di restore menggantikan data yg rusak tadi.
Media/hardisk tempat menyimpan data backup tersebut sebaiknya berbeda dengan tempat database yg terpakai / sedang digunakan. Hal ini dilakukan untuk :
1. Menghindari hardisk cepat penuh karena bercampur antara database dan data backup.
2. Jika hardisk database corrupt, maka data backup tidak ikut corrupt.
Untuk membackup database pada Postgresql dapat menggunakan command pg_dump atau pg_dumpall untuk membackup semua database. Kita dapat membatasi backup database hanya selama 7 hari saja dan membuatkan LOG FILE backup database.
Script di bawah ini akan menjalankan backup database selama 7 hari, jadi jika ada data backup yg melebihi 7 hari maka data tersebut akan di hapus. Linux yg digunakan adalah Linux Ubuntu.
Script backupdata.sh sebagai berikut :
#!/bin/bash
DATE=`date +%Y%m%d`
dataexp=`date --d 7yesterday +%Y%m%d`
LOGFILE=Log`date +%Y%m%d`.log
touch $LOGFILE
pg_dump -F c -d db_name > /var/lib/postgresql/backup/db_name$DATE.backup
echo `date +%Y/%m/%d` `date +%H:%m` "/var/lib/postgresql/backup/db_name$DATE.backup" > $LOGFILE
gzip -f /var/lib/postgresql/backup/db_name$DATE.backup
#hapus file seminggu yg lalu.
#cek dulu jika sdh lebih dari 7 file.
if [ $(ls /var/lib/postgresql/backup | wc -l) -gt 7 ]
then
#echo 'ada lebih dari 7 file'
cd /var/lib/postgresql/backup/harian
rm *$dataexp.backup.gz
fi
#hapus seminggu yg lalu selesai
Penjelasan :
DATE=`date +%Y%m%d` adalah mengambil tanggal system yg akan digunakan sebagai nama file backup.
dataexp=`date --d 7yesterday +%Y%m%d` adalah untuk mengambil file data backup yg sudah lebih tujuh hari.
LOGFILE=Log`date +%Y%m%d`.log adalah digunakan sebagai nama file LOG berdasarkan tanggal system.
touch $LOGFILE adalah untuk membuat nama file LOG berdasarkan LOGFILE.
pg_dump -F c -d db_name > /var/lib/postgresql/backup/harian/db_name$DATE.backup adalah untuk menjalankan proses backup database db_name yg akan disimpan pada folder /var/lib/postgresql/backup/harian/.
echo `date +%Y/%m/%d` `date +%H:%m` "/var/lib/postgresql/backup/harian/db_name$DATE.backup" > $LOGFILE adalah untuk menginput hasil backup pada LOGFILE.
gzip -f /var/lib/postgresql/backup/harian/db_name$DATE.backup adalah untuk menkompres file backup.
Setelah itu simpan script backupdata.sh pada folder /usr/local/bin. Jalankan command chmod backupdata.sh 755. Agar script tersebut dapat dijalankan otomatis oleh postgres jalankan proses mengaktifkan permission-nya sebagai berikut :
1. Ubah owner dari script backupdata.sh tersebut menjadi postgres, yaitu :
Chown postgres backupdata.sh
2. Buat cron job dengan aktif terlebih dulu sebagai user postgres, yaitu :
su – postgres [enter]
crontab –e [enter]
0 1 * * * /usr/local/bin/backupdata.sh (data akan di backup setiap jam 01.00) [CTRL+X] jawab Yes
3. Buat hardisk slave (harian) aktif pada folder “/var/lib/postgresql/backup”, yaitu :
Mount /dev/sdb1 /var/lib/postgresql/backup/
Script backupdata.sh ini akan otomatis menyimpan data backup pada folder harian yg telah terlebih dulu di mount, serta akan membuatkan log file berdasarkan tanggal system sehingga kita akan dengan mudah mendapatkan catatan dari hasil backup yg telah dijalankan. Dan data yg di backup sudah terkompres sehingga file tersebut tidak terlalu besar.
Dari script di atas, anda dapat membuatkan backup bulanan secara otomatis dengan menghapus perintah hapus data dan menambahkan pada cron job untuk menjalankan perintah backup data bulanan.
Media/hardisk tempat menyimpan data backup tersebut sebaiknya berbeda dengan tempat database yg terpakai / sedang digunakan. Hal ini dilakukan untuk :
1. Menghindari hardisk cepat penuh karena bercampur antara database dan data backup.
2. Jika hardisk database corrupt, maka data backup tidak ikut corrupt.
Untuk membackup database pada Postgresql dapat menggunakan command pg_dump atau pg_dumpall untuk membackup semua database. Kita dapat membatasi backup database hanya selama 7 hari saja dan membuatkan LOG FILE backup database.
Script di bawah ini akan menjalankan backup database selama 7 hari, jadi jika ada data backup yg melebihi 7 hari maka data tersebut akan di hapus. Linux yg digunakan adalah Linux Ubuntu.
Script backupdata.sh sebagai berikut :
#!/bin/bash
DATE=`date +%Y%m%d`
dataexp=`date --d 7yesterday +%Y%m%d`
LOGFILE=Log`date +%Y%m%d`.log
touch $LOGFILE
pg_dump -F c -d db_name > /var/lib/postgresql/backup/db_name$DATE.backup
echo `date +%Y/%m/%d` `date +%H:%m` "/var/lib/postgresql/backup/db_name$DATE.backup" > $LOGFILE
gzip -f /var/lib/postgresql/backup/db_name$DATE.backup
#hapus file seminggu yg lalu.
#cek dulu jika sdh lebih dari 7 file.
if [ $(ls /var/lib/postgresql/backup | wc -l) -gt 7 ]
then
#echo 'ada lebih dari 7 file'
cd /var/lib/postgresql/backup/harian
rm *$dataexp.backup.gz
fi
#hapus seminggu yg lalu selesai
Penjelasan :
DATE=`date +%Y%m%d` adalah mengambil tanggal system yg akan digunakan sebagai nama file backup.
dataexp=`date --d 7yesterday +%Y%m%d` adalah untuk mengambil file data backup yg sudah lebih tujuh hari.
LOGFILE=Log`date +%Y%m%d`.log adalah digunakan sebagai nama file LOG berdasarkan tanggal system.
touch $LOGFILE adalah untuk membuat nama file LOG berdasarkan LOGFILE.
pg_dump -F c -d db_name > /var/lib/postgresql/backup/harian/db_name$DATE.backup adalah untuk menjalankan proses backup database db_name yg akan disimpan pada folder /var/lib/postgresql/backup/harian/.
echo `date +%Y/%m/%d` `date +%H:%m` "/var/lib/postgresql/backup/harian/db_name$DATE.backup" > $LOGFILE adalah untuk menginput hasil backup pada LOGFILE.
gzip -f /var/lib/postgresql/backup/harian/db_name$DATE.backup adalah untuk menkompres file backup.
Setelah itu simpan script backupdata.sh pada folder /usr/local/bin. Jalankan command chmod backupdata.sh 755. Agar script tersebut dapat dijalankan otomatis oleh postgres jalankan proses mengaktifkan permission-nya sebagai berikut :
1. Ubah owner dari script backupdata.sh tersebut menjadi postgres, yaitu :
Chown postgres backupdata.sh
2. Buat cron job dengan aktif terlebih dulu sebagai user postgres, yaitu :
su – postgres [enter]
crontab –e [enter]
0 1 * * * /usr/local/bin/backupdata.sh (data akan di backup setiap jam 01.00) [CTRL+X] jawab Yes
3. Buat hardisk slave (harian) aktif pada folder “/var/lib/postgresql/backup”, yaitu :
Mount /dev/sdb1 /var/lib/postgresql/backup/
Script backupdata.sh ini akan otomatis menyimpan data backup pada folder harian yg telah terlebih dulu di mount, serta akan membuatkan log file berdasarkan tanggal system sehingga kita akan dengan mudah mendapatkan catatan dari hasil backup yg telah dijalankan. Dan data yg di backup sudah terkompres sehingga file tersebut tidak terlalu besar.
Dari script di atas, anda dapat membuatkan backup bulanan secara otomatis dengan menghapus perintah hapus data dan menambahkan pada cron job untuk menjalankan perintah backup data bulanan.
Rabu, 27 Januari 2010
Bahasa Angsa
Bila antar teman kita seperti angsa.
Alangkah indahnya !.
Bila anda sedang berada di negara 4 musim,kadang anda melihat Angsa terbang berombongan,pergi ke daerah yang lebih hangat,menghindari musim dingin…
Perhatikan, mereka terbang dalam formasi “V” Mungkin anda kepingin tahu kenapa……..
Dengan terbang dalam formasi “ V “, efisiensi seluruh” Grup” akan naik sebesar 71 %, dibandingkan dengan terbang sendiri sendiri.
Pelajaran 1:
Bekerja secara Team, bergerak ke arah tujuan yang sama , membuat kita mencapai tujuan lebih cepat dan lebih ringan.
Ketika salah satu Angsa meninggalkan formasi.
Apa yang terjadi ………?..
Dia mengalami daya tahan udara yang besar,dan kesulitan terbang sendiri………....
Akhirnya dia dengan cepat kembali ke” formasi “untuk berbagi efek terbang dalam formasi ..
Pelajaran ke 2:
Selalu kompak di dalam team yang bergerak ke satu tujuan; akan membutuhkan lebih sedikit energi.
Akan lebih mudah dan lebih menyenangkan untuk mencapai tujuan.
Setiap anggota akan merasa berkewajiban untuk menolong sesama.
Ketika team leader kelelahan ………...
Apa yang terjadi ……………..?
... Dia berpindah ke ujung formasi “V”,sementara itu Angsa lain akan mengambil tempatnya.
Pelajaran 3:
Berbagi kepeminpinan, harus didasari saling hormat dan percaya diantara anggota di setiap saat.
Saling berbagi tugas atau masalah yang paling berat
Pusatkan kemampuan , dan bakat team untuk memecahkan masalah.,/li>
Angsa terbang dalam formasi “V” sambil ber “kotek“ hal ini akan memberi semangat terbang "Team leader". Juga dengan cara demikian mereka terbang dengan kecepatan yang sama……...
Pelajaran 4:
Bila mana ada semangat dan “penyemangat,kecepatan penyelesain pekerjaan lebih besar.
Keberadaan “semangat“ akan selalu memotivasi,menolong dan menguatkan…
Akan menghasikan kwalitas yang terbaik.
Ketika salah satu Angsa sakit atau kelelahan…………
Dia akan tertinggal dan keluar dari formasi……..
Apa yang terjadi ……….?
Beberapa Angsa akan keluar juga dari formasi,dan membentuk formasi baru untuk menolong dan mengawal dia….sampai dia sehat dan kembali masuk ke formasi atau terus dengan formasi tsb atau jatuh dan meninggal.
Pelajaran 5:
Tinggalah berdampingan dengan yang lain apapun perbedaan kita.
Lebih-lebih pada waktu kesulitan dan tantangan yang besar...
Jika kita kompak dan saling mendukung…...
Jika kita menjiwai kerja sama yang baik..
Melupakan perbedaan masing masing maka kita akan selalu dapat mengatasi tantangan.
Jika kita selami arti dari persahabatan..
Dan kita selalu bersedia untuk berbagi……….....
HIDUP AKAN LEBIH BERARTI DAN KITA AKAN MELEWATI WAKTU MENDATANG DENGAN KEBAHAGIAAN. ..
(sumber : NN)
Alangkah indahnya !.
Bila anda sedang berada di negara 4 musim,kadang anda melihat Angsa terbang berombongan,pergi ke daerah yang lebih hangat,menghindari musim dingin…
Dengan terbang dalam formasi “ V “, efisiensi seluruh” Grup” akan naik sebesar 71 %, dibandingkan dengan terbang sendiri sendiri.
Pelajaran 1:
Bekerja secara Team, bergerak ke arah tujuan yang sama , membuat kita mencapai tujuan lebih cepat dan lebih ringan.
Apa yang terjadi ………?..
Dia mengalami daya tahan udara yang besar,dan kesulitan terbang sendiri………....
Akhirnya dia dengan cepat kembali ke” formasi “untuk berbagi efek terbang dalam formasi ..
Pelajaran ke 2:
Selalu kompak di dalam team yang bergerak ke satu tujuan; akan membutuhkan lebih sedikit energi.
Akan lebih mudah dan lebih menyenangkan untuk mencapai tujuan.
Setiap anggota akan merasa berkewajiban untuk menolong sesama.
Apa yang terjadi ……………..?
... Dia berpindah ke ujung formasi “V”,sementara itu Angsa lain akan mengambil tempatnya.
Pelajaran 3:
Berbagi kepeminpinan, harus didasari saling hormat dan percaya diantara anggota di setiap saat.
Saling berbagi tugas atau masalah yang paling berat
Pusatkan kemampuan , dan bakat team untuk memecahkan masalah.,/li>
Pelajaran 4:
Bila mana ada semangat dan “penyemangat,kecepatan penyelesain pekerjaan lebih besar.
Keberadaan “semangat“ akan selalu memotivasi,menolong dan menguatkan…
Akan menghasikan kwalitas yang terbaik.
Dia akan tertinggal dan keluar dari formasi……..
Apa yang terjadi ……….?
Beberapa Angsa akan keluar juga dari formasi,dan membentuk formasi baru untuk menolong dan mengawal dia….sampai dia sehat dan kembali masuk ke formasi atau terus dengan formasi tsb atau jatuh dan meninggal.
Pelajaran 5:
Tinggalah berdampingan dengan yang lain apapun perbedaan kita.
Lebih-lebih pada waktu kesulitan dan tantangan yang besar...
Jika kita kompak dan saling mendukung…...
Jika kita menjiwai kerja sama yang baik..
Melupakan perbedaan masing masing maka kita akan selalu dapat mengatasi tantangan.
Jika kita selami arti dari persahabatan..
Dan kita selalu bersedia untuk berbagi……….....
HIDUP AKAN LEBIH BERARTI DAN KITA AKAN MELEWATI WAKTU MENDATANG DENGAN KEBAHAGIAAN. ..
(sumber : NN)
Selasa, 26 Januari 2010
Doa agar terlepas dari lilitan utang
Abu Said Al-Khudhri radhiyallahu ’anhu bertutur, “Pada suatu hari Rasulullah
shallallahu ’alaih wa sallam masuk masjid. Tiba-tiba ada seorang
sahabat bernama Abu Umamah radhiyallahu ’anhu sedang duduk di sana.
Beliau bertanya, ‘Wahai Abu Umamah, kenapa aku melihat kau sedang duduk di luar waktu shalat?’ Ia menjawab, ‘Aku bingung memikirkan hutangku, wahai Rasulullah.’ Beliau bertanya, ‘Maukah aku ajarkan kepadamu sebuah do’a yang apabila kau baca maka Allah ta’aala akan menghilangkan kebingunganmu dan melunasi hutangmu?’ Ia menjawab, ‘Tentu, wahai Rasulullah.’ Beliau bersabda, ‘Jika kau berada di waktu pagi maupun sore hari, bacalah do’a:
اللَّهُمَّ إِنِّي أَعُوذُ بِكَ مِنْ الْهَمِّ وَالْحَزَنِ وَأَعُوذُ بِكَ مِنْ الْعَجْزِ وَالْكَسَلِ وَأَعُوذُ بِكَ مِنْ الْجُبْنِ وَالْبُخْلِ وَأَعُوذُ بِكَ مِنْ غَلَبَةِ الدَّيْنِ وَقَهْرِ الرِّجَا
Allahumma innii a’udzubika minal hammi wal khazan, wa a’udzubika minal ‘adzji wal kasal, wa a’udzubika minal jubni wal bukhl, wa a’udzubika min ghalabati al-daini wa khohri al rijaal.
“Ya Allah, saya bersungguh-sungguh berlindung kepadaMu dari rasa susah dan sedih, dan aku berlindung kepadaMu dari rasa lemah dan malas, dan aku berlindung kepadaMu dari sifat pengecut dan kikir, dan aku berlindung kepadaMu dari lilitan hutang dan tekanan orang lain.”
Beliau bertanya, ‘Wahai Abu Umamah, kenapa aku melihat kau sedang duduk di luar waktu shalat?’ Ia menjawab, ‘Aku bingung memikirkan hutangku, wahai Rasulullah.’ Beliau bertanya, ‘Maukah aku ajarkan kepadamu sebuah do’a yang apabila kau baca maka Allah ta’aala akan menghilangkan kebingunganmu dan melunasi hutangmu?’ Ia menjawab, ‘Tentu, wahai Rasulullah.’ Beliau bersabda, ‘Jika kau berada di waktu pagi maupun sore hari, bacalah do’a:
اللَّهُمَّ إِنِّي أَعُوذُ بِكَ مِنْ الْهَمِّ وَالْحَزَنِ وَأَعُوذُ بِكَ مِنْ الْعَجْزِ وَالْكَسَلِ وَأَعُوذُ بِكَ مِنْ الْجُبْنِ وَالْبُخْلِ وَأَعُوذُ بِكَ مِنْ غَلَبَةِ الدَّيْنِ وَقَهْرِ الرِّجَا
Allahumma innii a’udzubika minal hammi wal khazan, wa a’udzubika minal ‘adzji wal kasal, wa a’udzubika minal jubni wal bukhl, wa a’udzubika min ghalabati al-daini wa khohri al rijaal.
“Ya Allah, saya bersungguh-sungguh berlindung kepadaMu dari rasa susah dan sedih, dan aku berlindung kepadaMu dari rasa lemah dan malas, dan aku berlindung kepadaMu dari sifat pengecut dan kikir, dan aku berlindung kepadaMu dari lilitan hutang dan tekanan orang lain.”
Senin, 25 Januari 2010
24-01-2010 : Hari kedua belajar budidaya belut
Seperti terkena tsunami, belutnya mati hampir tidak tersisa. Dari 200 kg bibit belut yg coba dibudidayakan tersisa hanya +/- 5 kg saja. Dimanakah letak kesalahannya sehingga bibit belutnya mati hingga mencapai 90% ?
Kemarin ada Pak Fajar (seorang praktisi,trainer dan pemilik baitul ilmi) tempat kami membeli bibit belut datang ke Jonggol untuk mengecek penyebab dari kematian belut-belut tersebut. Analisa awal beliau bahwa belut-belut yg mati disebabkan oleh tempat pemeliharaan kurang terlindung dari sinar matahari / kurang teduh.Harus diakui bahwa torn untuk tempat belut letaknya agak terbuka, kurang pepohonan dan torn-nya hanya di tutupi oleh dedaunan.
Selain itu waktu pengangkutan dari sentul sudah siang dan dengan bak terbuka ditambah lagi macet, sehingga kemungkinan stress tinggi.
Dari hasil analisa tentang kematiann belut yg begitu besar, dapat disimpulkan untuk mengatasi masalah tersebut dengan cara :
1.Bibit belut saat pengiriman sebaiknya dilakukan bukan siang hari, kerena sifat belut yg hanya tahan pada temperatur 28°C.
2.Biarkan belut berada pada tempat awal selama maksimal 3 hari sebelum dipindahkan ke bak / torn. Saat memindahkan belut, air pada tempat awal di sisakan sedikit. Gunanya agar belut bisa beradaptasi dengan lingkungan barunya. Selain suhu udara PH balance air juga harus diperhatikan. PH balance air untuk belut adalah 7.
3.Jika ada belut yg berlendir, secepatnya dipindahkan ke tempat lain dan air dalam bak / torn tersebut harus di ganti.
4.Bersihkan sisa pakan belut yg sudah mulai membusuk, karena dapat menyebabkan belut terserang penyakit.
Dan yg terpenting adalah adanya monitoring secara rutin untuk mengantisipasi kematian belut tersebut.
Kemarin ada Pak Fajar (seorang praktisi,trainer dan pemilik baitul ilmi) tempat kami membeli bibit belut datang ke Jonggol untuk mengecek penyebab dari kematian belut-belut tersebut. Analisa awal beliau bahwa belut-belut yg mati disebabkan oleh tempat pemeliharaan kurang terlindung dari sinar matahari / kurang teduh.Harus diakui bahwa torn untuk tempat belut letaknya agak terbuka, kurang pepohonan dan torn-nya hanya di tutupi oleh dedaunan.
Selain itu waktu pengangkutan dari sentul sudah siang dan dengan bak terbuka ditambah lagi macet, sehingga kemungkinan stress tinggi.
Dari hasil analisa tentang kematiann belut yg begitu besar, dapat disimpulkan untuk mengatasi masalah tersebut dengan cara :
1.Bibit belut saat pengiriman sebaiknya dilakukan bukan siang hari, kerena sifat belut yg hanya tahan pada temperatur 28°C.
2.Biarkan belut berada pada tempat awal selama maksimal 3 hari sebelum dipindahkan ke bak / torn. Saat memindahkan belut, air pada tempat awal di sisakan sedikit. Gunanya agar belut bisa beradaptasi dengan lingkungan barunya. Selain suhu udara PH balance air juga harus diperhatikan. PH balance air untuk belut adalah 7.
3.Jika ada belut yg berlendir, secepatnya dipindahkan ke tempat lain dan air dalam bak / torn tersebut harus di ganti.
4.Bersihkan sisa pakan belut yg sudah mulai membusuk, karena dapat menyebabkan belut terserang penyakit.
Dan yg terpenting adalah adanya monitoring secara rutin untuk mengantisipasi kematian belut tersebut.
Rabu, 20 Januari 2010
Selasa, 19 Januari 2010
ALERT - configure POST variable limit exceeded
Apabila anda mendapatkan error pada aplikasi PHP anda seperti di bawah ini :
" [Tue Jan 19 16:22:54 2010] [error] [client 192.168.2.xxx] ALERT - configured POST variable limit exceeded - dropped variable 'detailFormal' (attacker '192.168.2.xxx', file '/var/www/test.php'), referer: http://192.168.2.xxx/test.php "
Maka yg harus anda lakukan adalah dengan mengedit file suhosin.ini di /etc/php5/conf.d.
suhosin.post.max_vars = 4096
suhosin.request.max_vars = 4096
Setelah itu restart apache. Selamat mencoba & semoga bermanfaat.
" [Tue Jan 19 16:22:54 2010] [error] [client 192.168.2.xxx] ALERT - configured POST variable limit exceeded - dropped variable 'detailFormal' (attacker '192.168.2.xxx', file '/var/www/test.php'), referer: http://192.168.2.xxx/test.php "
Maka yg harus anda lakukan adalah dengan mengedit file suhosin.ini di /etc/php5/conf.d.
suhosin.post.max_vars = 4096
suhosin.request.max_vars = 4096
Setelah itu restart apache. Selamat mencoba & semoga bermanfaat.
Jumat, 15 Januari 2010
Segerakanlah
Sungguh beruntung mereka yg bisa menjadikan waktunya selalu lebih baik dari waktu-waktu sebelumnya. Maka,hendaknya kita isi lembar hidup ini yg masih Allah sisakan untuk kita, dengan amal-amal terbaik.
Waktu yg berlalu tidak mungkin kembali. Dan waktu yg akan datang tidak mungkin ditahan. Untuk itu, kita mesti bersegera melakukan amalan-amalan tanpa ada niat menundanya.
Pertama Taubat.Tidak ada amalan yg bisa menyegerakan lahirnya kebaikan kecuali taubat. Dari taubat, terbuka pintu rahmat & keberkahan. Taubatlah yg memberikan kesempatan seseorang untuk meraih apa yg tidak ia dapatkan. "Bersegeralah kepada ampunan Tuhanmu dan kepada surga yg luasnya seluas langit dan bumi ..." (QS Ali Imran [3]:133).
Kedua Sholat. Di antara dosa besar adalah menunda waktu sholat. Dan orang yg berani menunda sholat apalagi sampai meninggalkannya, berarti tidak yakin akan kematian yg siap mengincarnya.“Sesungguhnya orang-orang munafik menyangkan bisa menipu Allah, tapi sesungguhnya Allahlah yg menghinakan mereka. Yaitu ketika mereka diseru untuk sholat, mereka bermalas-malasan …” (QS An-Nisa [4]:142).
Ketiga Membayar Utang. Rasulullah dan para sahabat menunda mensholat mayit yg masih punya utang. Karenanya, jangan tunda membayar utang jika sudah mampu untuk membayarnya. Kelak di akhirat, amal kebaikan seseorang akan berpindah kepada orang yg member utang lantaran ketika di dunia tidak membayar utang padahal ada kemampuan.
Keempat bersedekah. Bersedekah berarti memanggil rezeki yg berlimpah. Dan menunda sedekah sama dengan menunda datangnya rezeki yg berlimpah.
Kelima berbuat baik. Hendaknya kita tidak menunda pekerjaan yg baik sampai besok, jika bisa dilakukan hari ini. Karena beban dan kewajiban esok hari sudah berbeda hari ini.“Ketika telah selesai mengerjakan suatu perbuatan, maka (bergegaslah) mengerjakan (amalan) lain.” (QS Al Insyirah [94]:7).
Selain kebaikan di atas, masih ada amalan baik lainnya. Yaitu menikah, berwasiat, menguburkan mayat dan meminta maaf. Kesalahan yg belum termaafkan akan menjadi hambatan kelak saat kita menghadapi pengadilan Allah.“Dan minta maaflah kalian, karena itu akan mendekatkan kepada ketakwaan.” (QS Al-Baqarah [2]:237). (Sumber : Republika, Oleh Muhammad Arifin Ilham).
Waktu yg berlalu tidak mungkin kembali. Dan waktu yg akan datang tidak mungkin ditahan. Untuk itu, kita mesti bersegera melakukan amalan-amalan tanpa ada niat menundanya.
Pertama Taubat.Tidak ada amalan yg bisa menyegerakan lahirnya kebaikan kecuali taubat. Dari taubat, terbuka pintu rahmat & keberkahan. Taubatlah yg memberikan kesempatan seseorang untuk meraih apa yg tidak ia dapatkan. "Bersegeralah kepada ampunan Tuhanmu dan kepada surga yg luasnya seluas langit dan bumi ..." (QS Ali Imran [3]:133).
Kedua Sholat. Di antara dosa besar adalah menunda waktu sholat. Dan orang yg berani menunda sholat apalagi sampai meninggalkannya, berarti tidak yakin akan kematian yg siap mengincarnya.“Sesungguhnya orang-orang munafik menyangkan bisa menipu Allah, tapi sesungguhnya Allahlah yg menghinakan mereka. Yaitu ketika mereka diseru untuk sholat, mereka bermalas-malasan …” (QS An-Nisa [4]:142).
Ketiga Membayar Utang. Rasulullah dan para sahabat menunda mensholat mayit yg masih punya utang. Karenanya, jangan tunda membayar utang jika sudah mampu untuk membayarnya. Kelak di akhirat, amal kebaikan seseorang akan berpindah kepada orang yg member utang lantaran ketika di dunia tidak membayar utang padahal ada kemampuan.
Keempat bersedekah. Bersedekah berarti memanggil rezeki yg berlimpah. Dan menunda sedekah sama dengan menunda datangnya rezeki yg berlimpah.
Kelima berbuat baik. Hendaknya kita tidak menunda pekerjaan yg baik sampai besok, jika bisa dilakukan hari ini. Karena beban dan kewajiban esok hari sudah berbeda hari ini.“Ketika telah selesai mengerjakan suatu perbuatan, maka (bergegaslah) mengerjakan (amalan) lain.” (QS Al Insyirah [94]:7).
Selain kebaikan di atas, masih ada amalan baik lainnya. Yaitu menikah, berwasiat, menguburkan mayat dan meminta maaf. Kesalahan yg belum termaafkan akan menjadi hambatan kelak saat kita menghadapi pengadilan Allah.“Dan minta maaflah kalian, karena itu akan mendekatkan kepada ketakwaan.” (QS Al-Baqarah [2]:237). (Sumber : Republika, Oleh Muhammad Arifin Ilham).
Senin, 11 Januari 2010
Backup Database PostgreSQL
PostgreSQL menyediakan sebuah utility untuk membackup database, sehingga jika database PostgreSQL mengalami crash atau kerusakan lainnya, kita dapat menggunakan pg_dump untuk membackup database tersebut, database yang di backup berupa semua objek seperti tabel, isi table, view, fungsi, procedure, rule dan lainnya. Sedangkan untuk membackup keseluruhan database dapat menggunakan pg_dumpall.
Berikut ini adalah script untuk membackup database PostgreSQL secara otomatis yang dapat dibuatkan jadwal untuk membackup database secara harian,mingguan atau bulanan.
Script ini berasal dari http://www.fsf.org dengan beberapa perbaikan yang disesuaikan pada keperluan penulis.
Sebelum menjalankan script backup ini yang harus dilakukan terlebih dulu adalah:
1. Setting IP Address pada pg_hba.conf yang terletak di /etc/postgresql/8.1/main.
Syntaxnya : host all all/32 md5 atau host all all 255.255.255.0 md5.
Contoh : host all all 192.165.2.100 255.255.255.0 md5
2. Setting user,password pada .pgpass
Syntaxnya :::::
chmod file .pgpass 600.
Contoh : 192.165.2.100:5432:dataku:admin:admin123
Chmod 600 .pgpass
3. Buat nama file script tersebut dengan extensi .sh, misalnya auto.sh dan letakkan di /usr/local/bin. Chmod file auto.sh 755.
4. Buat entry schedule pada crontab pada folder /etc/.
Caranya :
a. Ketik crontab –e enter.
b. Syntax : m h dom mon dow filename.
m : menit.
h : jam.
dom : tanggal (0-31).
mon : bulan (1-12).
dow : hari (1-7),1=Senin .
filename : nama file dari script yang di buat.
Misalnya untuk menjalankan backup daily setiap jam 10 adalah :
00 10 * * * /usr/local/bin/auto.sh
Script auto.sh adalah sebagai berikut :
# Catatan untuk setting postgrebackup:
# Secara default, settingan postgrebackup adalah tertutup, dalam arti kita mesti menyetel
# metode otentifikasinya terlebih dahulu sebelum dapat digunakan. Kita menyetelnya di file
# /etc/postgresql/8.1/main/pg_hba.conf. Untuk menggunakan program ini, kita dapat menyetelnya seperti ini:
# host all all 192.168.1.100/32 md5
# Dimana 192.168.1.100 itu adalah IP tempat kita melakukan backup.
# Ada pula satu buah trick agar kita dapat melakukan backup otomatis di postgrebackup.
# Postgrebackup menggunakan utility build-innya untuk melakukan backup yaitu pg_dump dan pg_dumpall.
# Karena tingkat securitynya yang tinggi, kita tidak dapat menyebutkan password postgrebackup di dalam
# option pg_dump. Beruntungnya, postgrebackup telah menyediakan mekanisme password ini melalui file
# bername .pgpass. Isi dari file ini adalah: dbhost:5432:dbname:username:password (dbhost adalah
# IP dari server postgrebackup kita. Jadi, sehubungan dengan program ini, file .pgpass ini akan berisi:
# 192.168.1.200:5432:dbname:username:password
# Jangan lupa untuk me-chmod file ini 600.
###############################
# START SCRIPT - MULAI SCRIPT #
###############################
#!/bin/bash
USERNAME=USERNAME # username for the connection. username utk koneksinya
DBHOST=HOSTDB # match your pgbackup server IP. sesuaikan dengan IP server pgbackup kamu
DBNAMES=DATABASE # the database name. nama databasenya
BACKUPDIR=FOLDERBACKUP # the location to put the backup files. tempat backup files
MAILCONTENT="stdout"
MAILADDR="arwind@telkom.net This email address is being protected from spam bots, you need Javascript enabled to view it "
COMP=gzip
OPT="all"
# What do we want to backup.
# Apa yg mau di backup:
# "all" = schema + data
# "schema" = schema
# "data" = data
SEPDIR="yes"
DOWEEKLY=6
# On what day we want the weekly backup to be done. 1 = Monday
# Pada hari apa kita ingin backup mingguan dilakukan, 1 = Senin
DATE=`date +%Y-%m-%d_%Hh%Mm` # Datestamp misalnya 2006-03-21
DOW=`date +%A` # Day of the week, misalnya Sunday
DNOW=`date +%u` # Day number of the week, misalnya Senin = 1
DOM=`date +%d` # Date of the month, misalnya 27
M=`date +%B` # Bulan, misalnya January
W=`date +%V` # Week number, misalnya minggu ke-37
LOGFILE=$BACKUPDIR/$DBHOST-`date +%N`.log # Nama logfilenya
LOGERR=$BACKUPDIR/ERRORS_$DBHOST-`date +%N`.log # Nama logfile utk error
BACKUPFILES=""
OPT=""
# Create necessary directory
# Create direktori yang diperlukan
if [ ! -e "$BACKUPDIR" ] then
mkdir -p "$BACKUPDIR"
fi
if [ ! -e "$BACKUPDIR/daily" ] # Check if Daily Directory exists.
then
mkdir -p "$BACKUPDIR/daily"
fi
if [ ! -e "$BACKUPDIR/weekly" ] # Check if Weekly Directory exists.
then
mkdir -p "$BACKUPDIR/weekly"
fi
if [ ! -e "$BACKUPDIR/monthly" ] # Check if Monthly Directory exists.
then
mkdir -p "$BACKUPDIR/monthly"
fi
# Make logfile
# Membuat logfile
touch $LOGFILE
exec 6>&1
exec > $LOGFILE # Link file descriptor #6 with stdout.
# Saves stdout.
touch $LOGERR
exec 7>&2 # Link file descriptor #7 with stderr.
# Saves stderr.
exec 2> $LOGERR # stderr replaced with file $LOGERR.
if [ "$OPT" = "all" ]; then
OPT = ""
elif [ "OPT" = "data" ]; then
OPT = "-a"
elif [ "OPT" = "schema" ]; then
OPT = "-s"
fi
# Database dump function
dbdump () {
pg_dump -i -h $DBHOST -p 5432 -U $USERNAME -F c -d -v -f $2 $DBNAMES
return 0
}
# Compression function plus latest copy
SUFFIX=""
compression () {
if [ "$COMP" = "gzip" ]; then
gzip -f "$1"
echo
echo Backup Information for "$1"
gzip -l "$1.gz"
SUFFIX=".gz"
elif [ "$COMP" = "bzip2" ]; then
echo Compression information for "$1.bz2"
bzip2 -f -v $1 2>&1
SUFFIX=".bz2"
else
echo "No compression option set, check advanced settings"
fi
return 0
}
# Hostname for LOG information
if [ "$DBHOST" = "localhost" ]; then
HOST=`hostname`
if [ "$SOCKET" ]; then
OPT="$OPT --socket=$SOCKET"
fi
else
HOST=$DBHOST
fi
# Test is seperate DB backups are required
if [ "$SEPDIR" = "yes" ]; then
echo Backup Start Time `date`
echo ======================================================================
# Monthly Full Backup of all Databases
if [ $DOM = "01" ]; then
for MDB in $DBNAMES
do
# Prepare $DB for using
MDB="`echo $MDB | sed 's/%/ /g'`"
if [ ! -e "$BACKUPDIR/monthly/$MDB" ] # Check Monthly DB Directory exists.
then
mkdir -p "$BACKUPDIR/monthly/$MDB"
fi
echo Monthly Backup of $MDB...
dbdump "$MDB" "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup"
compression "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup$SUFFIX"
echo ----------------------------------------------------------------------
done
fi
for DB in $DBNAMES
do
# Prepare $DB for using
DB="`echo $DB | sed 's/%/ /g'`"
# Create Seperate directory for each DB
if [ ! -e "$BACKUPDIR/daily/$DB" ] # Check Daily DB Directory exists.
then
mkdir -p "$BACKUPDIR/daily/$DB"
fi
if [ ! -e "$BACKUPDIR/weekly/$DB" ] # Check Weekly DB Directory exists.
then
mkdir -p "$BACKUPDIR/weekly/$DB"
fi
# Weekly Backup
if [ $DNOW = $DOWEEKLY ]; then
echo Weekly Backup of Database \( $DB \)
echo Rotating 5 weeks Backups...
if [ "$W" -le 05 ];then
REMW=`expr 48 + $W`
elif [ "$W" -lt 15 ];then
REMW=0`expr $W - 5`
else
REMW=`expr $W - 5`
fi
eval rm -fv "$BACKUPDIR/weekly/$DB_week.$REMW.*"
echo
dbdump "$DB" "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup"
compression "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup$SUFFIX"
echo ----------------------------------------------------------------------
fi
# Daily Backup
# else
echo Daily Backup of Database \( $DB \)
echo Rotating last weeks Backup...
eval rm -fv "$BACKUPDIR/daily/$DB/*.$DOW.backup.*"
echo
dbdump "$DB" "$BACKUPDIR/daily/$DB/${DB}_$DATE.backup"
compression "$BACKUPDIR/daily/$DB/${DB}_$DATE.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/daily/$DB/${DB}_$DATE.backup$SUFFIX"
echo ----------------------------------------------------------------------
#fi
done
echo Backup End `date`
echo ======================================================================
echo Total disk space used for backup storage..
echo Size - Location
echo `du -hs "$BACKUPDIR"`
echo
#Clean up IO redirection
exec 1>&6 6>&- # Restore stdout and close file descriptor #6.
exec 1>&7 7>&- # Restore stdout and close file descriptor #7.
if [ "$MAILCONTENT" = "files" ]
then
if [ -s "$LOGERR" ]
then
# Include error log if is larger than zero.
BACKUPFILES="$BACKUPFILES $LOGERR"
ERRORNOTE="WARNING: Error Reported - "
fi
#Get backup size
ATTSIZE=`du -c $BACKUPFILES | grep "[[:digit:][:space:]]total$" |sed s/\s*total//`
if [ $MAXATTSIZE -ge $ATTSIZE ]
then
BACKUPFILES=`echo "$BACKUPFILES" | sed -e "s# # -a #g"` #enable multiple attachments
mutt -s "$ERRORNOTE Pgbackup Log and backup Files for $HOST - $DATE" $BACKUPFILES $MAILADDR < $LOGFILE #send via mutt
else
cat "$LOGFILE" | mail -s "WARNING! - Pgbackup exceeds set maximum attachment size on $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "log" ]
then
cat "$LOGFILE" | mail -s "Pgbackup Log for $HOST - $DATE" $MAILADDR
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: Pgbackup error Log for $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "quiet" ]
then
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: Pgbackup error Log for $HOST - $DATE" $MAILADDR
cat "$LOGFILE" | mail -s "Pgbackup Log for $HOST - $DATE" $MAILADDR
fi
else
if [ -s "$LOGERR" ]
then
cat "$LOGFILE"
echo
echo "###### WARNING ######"
echo "Errors reported during AutoPgbackup execution.. Backup failed"
echo "Error log below.."
cat "$LOGERR"
else
cat "$LOGFILE"
fi
fi
if [ -s "$LOGERR" ]
then
STATUS=1
else
STATUS=0
fi
fi
# Clean up Logfile
eval rm -f "$LOGFILE"
eval rm -f "$LOGERR"
exit $STATUS
Script ini akan membuat folder backup dan di dalam folder backup akan terdapat folder daily, weekly, dan monthly. Nama dari folder-folder tersebut di atas dapat anda ubah sesuai keinginan anda. Semua database yang telah di backup telah di kompres sehingga datanya tidak akan terlalu besar mengambil space hardisk. Semoga script ini bisa menjadi manfaat.
Berikut ini adalah script untuk membackup database PostgreSQL secara otomatis yang dapat dibuatkan jadwal untuk membackup database secara harian,mingguan atau bulanan.
Script ini berasal dari http://www.fsf.org dengan beberapa perbaikan yang disesuaikan pada keperluan penulis.
Sebelum menjalankan script backup ini yang harus dilakukan terlebih dulu adalah:
1. Setting IP Address pada pg_hba.conf yang terletak di /etc/postgresql/8.1/main.
Syntaxnya : host all all
Contoh : host all all 192.165.2.100 255.255.255.0 md5
2. Setting user,password pada .pgpass
Syntaxnya :
chmod file .pgpass 600.
Contoh : 192.165.2.100:5432:dataku:admin:admin123
Chmod 600 .pgpass
3. Buat nama file script tersebut dengan extensi .sh, misalnya auto.sh dan letakkan di /usr/local/bin. Chmod file auto.sh 755.
4. Buat entry schedule pada crontab pada folder /etc/.
Caranya :
a. Ketik crontab –e enter.
b. Syntax : m h dom mon dow filename.
m : menit.
h : jam.
dom : tanggal (0-31).
mon : bulan (1-12).
dow : hari (1-7),1=Senin .
filename : nama file dari script yang di buat.
Misalnya untuk menjalankan backup daily setiap jam 10 adalah :
00 10 * * * /usr/local/bin/auto.sh
Script auto.sh adalah sebagai berikut :
# Catatan untuk setting postgrebackup:
# Secara default, settingan postgrebackup adalah tertutup, dalam arti kita mesti menyetel
# metode otentifikasinya terlebih dahulu sebelum dapat digunakan. Kita menyetelnya di file
# /etc/postgresql/8.1/main/pg_hba.conf. Untuk menggunakan program ini, kita dapat menyetelnya seperti ini:
# host all all 192.168.1.100/32 md5
# Dimana 192.168.1.100 itu adalah IP tempat kita melakukan backup.
# Ada pula satu buah trick agar kita dapat melakukan backup otomatis di postgrebackup.
# Postgrebackup menggunakan utility build-innya untuk melakukan backup yaitu pg_dump dan pg_dumpall.
# Karena tingkat securitynya yang tinggi, kita tidak dapat menyebutkan password postgrebackup di dalam
# option pg_dump. Beruntungnya, postgrebackup telah menyediakan mekanisme password ini melalui file
# bername .pgpass. Isi dari file ini adalah: dbhost:5432:dbname:username:password (dbhost adalah
# IP dari server postgrebackup kita. Jadi, sehubungan dengan program ini, file .pgpass ini akan berisi:
# 192.168.1.200:5432:dbname:username:password
# Jangan lupa untuk me-chmod file ini 600.
###############################
# START SCRIPT - MULAI SCRIPT #
###############################
#!/bin/bash
USERNAME=USERNAME # username for the connection. username utk koneksinya
DBHOST=HOSTDB # match your pgbackup server IP. sesuaikan dengan IP server pgbackup kamu
DBNAMES=DATABASE # the database name. nama databasenya
BACKUPDIR=FOLDERBACKUP # the location to put the backup files. tempat backup files
MAILCONTENT="stdout"
MAILADDR="arwind@telkom.net This email address is being protected from spam bots, you need Javascript enabled to view it "
COMP=gzip
OPT="all"
# What do we want to backup.
# Apa yg mau di backup:
# "all" = schema + data
# "schema" = schema
# "data" = data
SEPDIR="yes"
DOWEEKLY=6
# On what day we want the weekly backup to be done. 1 = Monday
# Pada hari apa kita ingin backup mingguan dilakukan, 1 = Senin
DATE=`date +%Y-%m-%d_%Hh%Mm` # Datestamp misalnya 2006-03-21
DOW=`date +%A` # Day of the week, misalnya Sunday
DNOW=`date +%u` # Day number of the week, misalnya Senin = 1
DOM=`date +%d` # Date of the month, misalnya 27
M=`date +%B` # Bulan, misalnya January
W=`date +%V` # Week number, misalnya minggu ke-37
LOGFILE=$BACKUPDIR/$DBHOST-`date +%N`.log # Nama logfilenya
LOGERR=$BACKUPDIR/ERRORS_$DBHOST-`date +%N`.log # Nama logfile utk error
BACKUPFILES=""
OPT=""
# Create necessary directory
# Create direktori yang diperlukan
if [ ! -e "$BACKUPDIR" ] then
mkdir -p "$BACKUPDIR"
fi
if [ ! -e "$BACKUPDIR/daily" ] # Check if Daily Directory exists.
then
mkdir -p "$BACKUPDIR/daily"
fi
if [ ! -e "$BACKUPDIR/weekly" ] # Check if Weekly Directory exists.
then
mkdir -p "$BACKUPDIR/weekly"
fi
if [ ! -e "$BACKUPDIR/monthly" ] # Check if Monthly Directory exists.
then
mkdir -p "$BACKUPDIR/monthly"
fi
# Make logfile
# Membuat logfile
touch $LOGFILE
exec 6>&1
exec > $LOGFILE # Link file descriptor #6 with stdout.
# Saves stdout.
touch $LOGERR
exec 7>&2 # Link file descriptor #7 with stderr.
# Saves stderr.
exec 2> $LOGERR # stderr replaced with file $LOGERR.
if [ "$OPT" = "all" ]; then
OPT = ""
elif [ "OPT" = "data" ]; then
OPT = "-a"
elif [ "OPT" = "schema" ]; then
OPT = "-s"
fi
# Database dump function
dbdump () {
pg_dump -i -h $DBHOST -p 5432 -U $USERNAME -F c -d -v -f $2 $DBNAMES
return 0
}
# Compression function plus latest copy
SUFFIX=""
compression () {
if [ "$COMP" = "gzip" ]; then
gzip -f "$1"
echo
echo Backup Information for "$1"
gzip -l "$1.gz"
SUFFIX=".gz"
elif [ "$COMP" = "bzip2" ]; then
echo Compression information for "$1.bz2"
bzip2 -f -v $1 2>&1
SUFFIX=".bz2"
else
echo "No compression option set, check advanced settings"
fi
return 0
}
# Hostname for LOG information
if [ "$DBHOST" = "localhost" ]; then
HOST=`hostname`
if [ "$SOCKET" ]; then
OPT="$OPT --socket=$SOCKET"
fi
else
HOST=$DBHOST
fi
# Test is seperate DB backups are required
if [ "$SEPDIR" = "yes" ]; then
echo Backup Start Time `date`
echo ======================================================================
# Monthly Full Backup of all Databases
if [ $DOM = "01" ]; then
for MDB in $DBNAMES
do
# Prepare $DB for using
MDB="`echo $MDB | sed 's/%/ /g'`"
if [ ! -e "$BACKUPDIR/monthly/$MDB" ] # Check Monthly DB Directory exists.
then
mkdir -p "$BACKUPDIR/monthly/$MDB"
fi
echo Monthly Backup of $MDB...
dbdump "$MDB" "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup"
compression "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.backup$SUFFIX"
echo ----------------------------------------------------------------------
done
fi
for DB in $DBNAMES
do
# Prepare $DB for using
DB="`echo $DB | sed 's/%/ /g'`"
# Create Seperate directory for each DB
if [ ! -e "$BACKUPDIR/daily/$DB" ] # Check Daily DB Directory exists.
then
mkdir -p "$BACKUPDIR/daily/$DB"
fi
if [ ! -e "$BACKUPDIR/weekly/$DB" ] # Check Weekly DB Directory exists.
then
mkdir -p "$BACKUPDIR/weekly/$DB"
fi
# Weekly Backup
if [ $DNOW = $DOWEEKLY ]; then
echo Weekly Backup of Database \( $DB \)
echo Rotating 5 weeks Backups...
if [ "$W" -le 05 ];then
REMW=`expr 48 + $W`
elif [ "$W" -lt 15 ];then
REMW=0`expr $W - 5`
else
REMW=`expr $W - 5`
fi
eval rm -fv "$BACKUPDIR/weekly/$DB_week.$REMW.*"
echo
dbdump "$DB" "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup"
compression "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.backup$SUFFIX"
echo ----------------------------------------------------------------------
fi
# Daily Backup
# else
echo Daily Backup of Database \( $DB \)
echo Rotating last weeks Backup...
eval rm -fv "$BACKUPDIR/daily/$DB/*.$DOW.backup.*"
echo
dbdump "$DB" "$BACKUPDIR/daily/$DB/${DB}_$DATE.backup"
compression "$BACKUPDIR/daily/$DB/${DB}_$DATE.backup"
BACKUPFILES="$BACKUPFILES $BACKUPDIR/daily/$DB/${DB}_$DATE.backup$SUFFIX"
echo ----------------------------------------------------------------------
#fi
done
echo Backup End `date`
echo ======================================================================
echo Total disk space used for backup storage..
echo Size - Location
echo `du -hs "$BACKUPDIR"`
echo
#Clean up IO redirection
exec 1>&6 6>&- # Restore stdout and close file descriptor #6.
exec 1>&7 7>&- # Restore stdout and close file descriptor #7.
if [ "$MAILCONTENT" = "files" ]
then
if [ -s "$LOGERR" ]
then
# Include error log if is larger than zero.
BACKUPFILES="$BACKUPFILES $LOGERR"
ERRORNOTE="WARNING: Error Reported - "
fi
#Get backup size
ATTSIZE=`du -c $BACKUPFILES | grep "[[:digit:][:space:]]total$" |sed s/\s*total//`
if [ $MAXATTSIZE -ge $ATTSIZE ]
then
BACKUPFILES=`echo "$BACKUPFILES" | sed -e "s# # -a #g"` #enable multiple attachments
mutt -s "$ERRORNOTE Pgbackup Log and backup Files for $HOST - $DATE" $BACKUPFILES $MAILADDR < $LOGFILE #send via mutt
else
cat "$LOGFILE" | mail -s "WARNING! - Pgbackup exceeds set maximum attachment size on $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "log" ]
then
cat "$LOGFILE" | mail -s "Pgbackup Log for $HOST - $DATE" $MAILADDR
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: Pgbackup error Log for $HOST - $DATE" $MAILADDR
fi
elif [ "$MAILCONTENT" = "quiet" ]
then
if [ -s "$LOGERR" ]
then
cat "$LOGERR" | mail -s "ERRORS REPORTED: Pgbackup error Log for $HOST - $DATE" $MAILADDR
cat "$LOGFILE" | mail -s "Pgbackup Log for $HOST - $DATE" $MAILADDR
fi
else
if [ -s "$LOGERR" ]
then
cat "$LOGFILE"
echo
echo "###### WARNING ######"
echo "Errors reported during AutoPgbackup execution.. Backup failed"
echo "Error log below.."
cat "$LOGERR"
else
cat "$LOGFILE"
fi
fi
if [ -s "$LOGERR" ]
then
STATUS=1
else
STATUS=0
fi
fi
# Clean up Logfile
eval rm -f "$LOGFILE"
eval rm -f "$LOGERR"
exit $STATUS
Script ini akan membuat folder backup dan di dalam folder backup akan terdapat folder daily, weekly, dan monthly. Nama dari folder-folder tersebut di atas dapat anda ubah sesuai keinginan anda. Semua database yang telah di backup telah di kompres sehingga datanya tidak akan terlalu besar mengambil space hardisk. Semoga script ini bisa menjadi manfaat.
09-01-2010 : Hari pertama belajar budidaya belut
Sekilas Budidaya Belut
Belut merupakan jenis ikan konsumsi air tawar dengan bentuk tubuh bulat memanjang yang hanya memiliki sirip punggung dan tubuhnya licin. Belut suka memakan anak-anak ikan yang masih kecil. Biasanya hidup di sawah-sawah, di rawa-rawa atau lumpur dan di kali-kali kecil. Di Indonesia sejak tahun 1979, belut mulai dikenal dan digemari, hingga saat ini belut banyak dibudidayakan dan menjadi salah satu komoditas ekspor.
Budidaya belut di indonesia mulai tahun 1997 ketika krisis moneter melanda negeri ini, masyarakat mulai banyak yang tertarik dengan budidaya belut karena beranggapan bahwa bisnis budidaya belut ini sangat menguntungkan, pada perkembangannya banyak bermunculan peternak belut yang lahir dari seminar dan pelatihan yang diadakan.
Tetapi kebanyakan para peternak belut banyak yang gagal. Dari masalah media, pakan, benih dan bahkan informasi cara-cara budidaya yang didapatnya itu menjadi faktor utama kegagalan tersebut.
Hingga saat ini pemain belut yang sukses masih bisa dihitung dengan jari mereka yang masih tetap eksis bertahan adalah sebagai petani pemijahan belut, supplier belut, pengepul dan pengrajin belut olahan.
Belajar hari I :
Saat melihat langsung cara budidaya belut ada beberapa hal yg harus disiapkan supaya budidaya ini dapat berjalan lancar.
Yang harus disiapkan adalah :
1.Pakan belut karena untuk mendapatkan pakan belut tak semudah seperti layaknya budidaya ikan mas atau lele karena pakannya dapat dibeli di toko-toko.
Contoh pakan belut : ikan cere,bekicot sawah dan cacing.
Siapkan kolam untuk membiakkan bekicot sawah dan ikan cere. Pakan untuk ikan cere dan bekicot dapat ditemukan dipasaran atau bisa membuatnya sendiri dari sisa sayuran.
2.Kolam untuk budidaya belut dapat berupa kolam permanen atau dari TORN (bak pelastik).
Waktu makan belut biasanya pada malam hari,yg dilakukan di Jonggol biasanya mulai jam 17.00 pakan untuk belut diletakkan pada kedebong pisang.
Jadi tidak sabar untuk belajar budidaya belut.
Belut merupakan jenis ikan konsumsi air tawar dengan bentuk tubuh bulat memanjang yang hanya memiliki sirip punggung dan tubuhnya licin. Belut suka memakan anak-anak ikan yang masih kecil. Biasanya hidup di sawah-sawah, di rawa-rawa atau lumpur dan di kali-kali kecil. Di Indonesia sejak tahun 1979, belut mulai dikenal dan digemari, hingga saat ini belut banyak dibudidayakan dan menjadi salah satu komoditas ekspor.
Budidaya belut di indonesia mulai tahun 1997 ketika krisis moneter melanda negeri ini, masyarakat mulai banyak yang tertarik dengan budidaya belut karena beranggapan bahwa bisnis budidaya belut ini sangat menguntungkan, pada perkembangannya banyak bermunculan peternak belut yang lahir dari seminar dan pelatihan yang diadakan.
Tetapi kebanyakan para peternak belut banyak yang gagal. Dari masalah media, pakan, benih dan bahkan informasi cara-cara budidaya yang didapatnya itu menjadi faktor utama kegagalan tersebut.
Hingga saat ini pemain belut yang sukses masih bisa dihitung dengan jari mereka yang masih tetap eksis bertahan adalah sebagai petani pemijahan belut, supplier belut, pengepul dan pengrajin belut olahan.
Belajar hari I :
Saat melihat langsung cara budidaya belut ada beberapa hal yg harus disiapkan supaya budidaya ini dapat berjalan lancar.
Yang harus disiapkan adalah :
1.Pakan belut karena untuk mendapatkan pakan belut tak semudah seperti layaknya budidaya ikan mas atau lele karena pakannya dapat dibeli di toko-toko.
Contoh pakan belut : ikan cere,bekicot sawah dan cacing.
Siapkan kolam untuk membiakkan bekicot sawah dan ikan cere. Pakan untuk ikan cere dan bekicot dapat ditemukan dipasaran atau bisa membuatnya sendiri dari sisa sayuran.
2.Kolam untuk budidaya belut dapat berupa kolam permanen atau dari TORN (bak pelastik).
Waktu makan belut biasanya pada malam hari,yg dilakukan di Jonggol biasanya mulai jam 17.00 pakan untuk belut diletakkan pada kedebong pisang.
Jadi tidak sabar untuk belajar budidaya belut.
Langganan:
Postingan (Atom)