بالاخره انتظارها به پایان رسید. آموزش بکاپ گیری اتومتیک دیتابیس IBSng و ارسال آن به FTP به صورت تصویری.
میتونید از ضمیمه دانلود کنید. تشکر یادتون نره!
Video_IBSng Auto Backup.zip
متن ویدئو:
با توجه به درخواست دوستان و مشکلاتی که توی ساخت شل اسکریپت برای بکاپ گیری اتوماتیک دیتابیس IBSng داشتند برای همین دست به ساختن فیلمی در این رابط زدم.
- اول از همه باید برای اینکار یوزر روت (root) برای دیتابیس IBSng تعریف کنیم.
کد:
su - postgres
createuser root
logout
nano /var/lib/pgsql/data/pg_hba.conf
اضافه کردن متن زير در خط اول فايل
local IBSng root trust
و برای ذخیره از کلید ترکیبی Ctrl + X استفاده کرده و Y رو برای تایید میزنیم.
- سپس با دستور nano ibs-backup.sh ویرایشگر رو باز میکنیم و کد زیرو کپی میکنیم و برای ذخیره از کلید ترکیبی Ctrl + X استفاده کرده و Y رو برای تایید میزنیم. عدد 3 در خط چهارم ( "-3 days" ) باعث میشه بکاپ های 3روز قبل از اف تی پی پاک بشه. همچنین اطلاعات اف تی پی رو هم وارد کنید.
خط دهم که نوشته cd ibsng-backups باعث میشه وارد فلدر ibsng-backups بشه و بعد دیتابیس رو انتقال بده.
کد:
#!/bin/bash
pg_dump IBSng > IBSng_"`date +%Y-%m-%d_Time:%H-00`".sql
zip -r -9 IBSng_"`date +%Y-%m-%d_Time:%H-00`".zip IBSng_"`date +%Y-%m-%d_Time:%H-00`".sql
DELDATE=$(date -d "-3 days" +"%Y-%m-%d_Time:%H-00")
HOST=ipftp
USER=userftp
PASS=passftp
ftp -inv $HOST << EOF
user $USER $PASS
cd ibsng-backups
put IBSng_"`date +%Y-%m-%d_Time:%H-00`".zip
mdel IBSng_$DELDATE.zip
bye
EOF
rm IBSng_"`date +%Y-%m-%d_Time:%H-00`".sql
rm IBSng_"`date +%Y-%m-%d_Time:%H-00`".zip
خط سوم دراز بود واسه همین هنگام کپی شکسته شد و منم برشگردونم
- کار تمام هست! فقط کافیه یک کران جاب برای اجرای اتوماتیک این شل اسکریپت بسازیم. برای اینکار crontab –e رو فشار میدیم. بعد دکه Insert رو از کیبرد فشار میدیم تا امکان تایپ میسر باشه. در آخر هم برای اجرای اتوماتیک اسکریپت کد پایین رو وارد میکنیم:
کد:
0 */8 * * * sh /root/ibs-backup.sh
سپس کلید Ecs را فشار داده سپس کلید Shift را نگه داشته و دوبار z را فشار دهید تا تنظیمات ذخیره گردد. راه دیگرش هم بعد از فشار دادن Esc تایپ میکنیم :wq
اینطوری هر 8 ساعت به صورت خودکار از دیتابیس بکاپ گرفته و به اف تی پی میفرسته. البته اگه کمی در رابطه با کران جا اطلاعات داشته باشید میتونید با نیاز خودتون تغییرش بدید
دقت کنید کمترین زمان برای ارسال بکاپ اتوماتیک (کران جاب) 1 ساعت میباشد و به هیچ وجه زیر یک ساعت دوبار اجرا نکنید چون کد طوری نوشته شده که به صورت نام مشابه در اومده و ممکنه دیتابیس بکاپی مشکل پیدا کنه.
برای تست درستی اسکریپت هم خودمون اجرا میکنیم یکبار: