Langsung ke konten utama

Auto Backup Multiple Database Mysql


Hai.

sudah lama tidak menyentuh blog ini. dan lebih parahnya, saya baru ingat jika saya punya blog. hal ini saya temukan ketika saya browsing dengan keywoard konfigurasi proxy server squid lusca . iseng sih, mumpung ga ada tiket yang masuk ke pekerjaan ku.
kemarin saya mendapatkan tugas untuk melakukan backup secara manual kebeberapa server yang ada di kantor saya. males sih, karena kita harus membackup satu persatu. nah, saya akhirnya browsing cara yang enak buat backup multiple database mysql. maka saya temukan script beikut:

#!/bin/sh
user=user_root_database
pass=pass_database
host=localhost
dir=/patch/to/directory_nya

backup(){
date=$(date +%Y%m%d-%H%M)
tanggal=$(date +%d)
bulan=$(date +%m)
tahun=$(date +%Y)
if [ ! -d "$dir/$tahun/$bulan/$tanggal/" ];
then mkdir --parents $dir/$tahun/$bulan/$tanggal;
fi
dump=/usr/bin/mysqldump
$dump $dbs -u$user -p$pass -h$host -R -K --triggers> $dir/$tahun/$bulan/$tanggal/$dbs-$date.sql
gzip -f $dir/$tahun/$bulan/$tanggal/$dbs-$date.sql
}
#######jika seluruh db dalam grant tersebut ingin dibackup
sql=/usr/bin/mysql
for dbs in $($sql -u$user -p$pass -e 'show databases' | sed 1d); do if [ "$dbs" != "mysql" ] && [ "$dbs" != "information_schema" ] && [ "$dbs" != "performance_schema" ]; then backup; fi; done;

exit 0

Lalu simpan dengan format apakek.sh 
jangan lupa aktivkan penjadwalan

$ sudo crontab -e

atau

$ sudo nano /etc/crontab

tambahkan baris berikut:

59 23 * * * root /root/apakek.sh

Selesai

Komentar

Postingan populer dari blog ini

Tutorial Install SQLmap Ubuntu

sqlmap merupakan tools/alat opensource yang mendeteksi dan melakukan exploit pada Bug SQLinjection. dengan melakukan serangan SQL injection, peretas dapat mengambil alih hingga dapat memanipulasi sebuah database di dalam sebuah server. Sebelumnya, apa itu SQL Injection? SQL injection merupakan teknik hacking di mana peretas dapat menyisipkan perintah-perintah SQL melalu URL untuk di eksekusi oleh database. bug atau vulnerability ini terjadi karena kelalian seorang programer atau webmaster dalam melakukan pemograman web seperti tidak difilternya variabel dalam web tersebut. Cara installnya? $ sudo apt-get install git $ git clone https://github.com/sqlmapproject/sqlmap.git Untuk Menjalankannya, $ cd /patch/to/sqlmap/ jalankan dengan perintah dasar $ python sqlmap.py -h << untuk melihat basic options $ python sqlmap.py -u 'http://alamat.com'  contoh lain: $ python sqlmap.py --url=”http://192.168.152.129/dvwa/vulnerabilities/sqli/? id=1&Submit=S

PHP Apps in a Subdirectory in Nginx

 location /pilkades {     alias /var/www/html/pilkades;     try_files $uri $uri/ @nested;     location ~ \.php$ {         include snippets/fastcgi-php.conf;         fastcgi_param SCRIPT_FILENAME $request_filename;         fastcgi_pass unix:/run/php/php7.4-fpm.sock;     } } location @pilkades {     rewrite /pilkades/(.*)$ /pilkades/index.php?/$1 last; } atau: location /alias {     alias  /var/www/htmlalias;     location ~ /([^/]+\.php)$ {       try_files /$1 =404;       fastcgi_pass unix:/var/run/php5-fpm.sock;       fastcgi_index index.php;       include fastcgi_params;       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     }   }

Backup Mysql ALL Database with Specific Methods ( #! /bin/bash)

#! /bin/bash # backup-mysql.sh # # Craig Sanders <cas@taz.net.au> # this script is in the public domain.  do whatever you want with it. MYUSER="root" MYPWD="PASSWD" ARGS="--single-transaction --flush-logs --complete-insert" DATABASES=$( mysql -D mysql --skip-column-names -B -e 'show databases;' | egrep -v 'information_schema' ); BACKUPDIR=/var/backups/mysql YEAR=$(date +"%Y") MONTH=$(date +"%m") DAY=$(date +"%d") DATE="$YEAR-$MONTH/$YEAR-$MONTH-$DAY" mkdir -p $BACKUPDIR/$DATE cd $BACKUPDIR/$DATE for i in $DATABASES ; do   echo -n "backing up $i: schema..."   mysqldump $ARGS --no-data -u$MYUSER -p$MYPWD $i > $i.schema.sql   echo -n "data..."   mysqldump $ARGS --skip-opt --no-create-db --no-create-info -u$MYUSER -p$MYPWD $i > $i.data.sql   echo -n "backup full databases"   mysqldump $ARGS -u$MYUSER -p$MYPWD $i > $i.full.sql   echo -n "Backup views"