Motivation: If ever database gets corrupted, or the MySQL goes boink, the data loss can be minimized.
Prerequisites:
Setting up Cron job: Place this script somewhere safe. Provide appropriate permission to it. I kept it under
Prerequisites:
- Familiarity with shell script
- S3 bucket and credentials
- Any S3 tool that you're familiar with. Here I have used s3cmd . You may use weapon of your choice, may be JetS3t or anything else.
- Create a clean directory where all the operations will take place. Call it
staging_dir
- Take
mysqldump
of desired database. Or all the database. Learn here what you want: mysqldump usage documentmysqldump --user MYSQL_USER --password=MYSQL_PASSWORD --add-locks --flush-privileges \ --add-drop-table --complete-insert --extended-insert --single-transaction \ --database DB_TO_BACKUP > FILENAME_FOR_SQL_STATEMENTS
where - --add-locks: Surround each table dump with
LOCK TABLES
andUNLOCK TABLES
statements. This results in faster inserts when the dump file is reloaded. - --flush-privileges: Send a
FLUSH PRIVILEGES
statement to the server after dumping themysql
database. This option should be used any time the dump contains themysql
database and any other database that depends on the data in themysql
database for proper restoration. - --add-drop-table: Add a
DROP TABLE
statement before eachCREATE TABLE
statement. - --complete-insert: Use complete
INSERT
statements that include column names. - --extended-insert: Use multiple-row
INSERT
syntax that include severalVALUES
lists. This results in a smaller dump file and speeds up inserts when the file is reloaded.
you may also want to use-h HOSTNAME
, if your cron job is going to run on a remote machine. - Make a tarball of this file.
tar cf TAR_FILENAME --directory=STAGING_DIR DUMPED_SQL_FILE_NAME
- Upload to S3, (I assume you have configured your S3 tool whatever you use). With s3cmd, it's simple.
s3cmd put FILENAME s3://BUCKETNAME/SUB/DIRECTORY/
- The tricky part is how would you know, what file was uploaded X days ago? With richer (scripting) languages like Python, or Groovy, it's lot more easy to enumerate the files in the
backup
folder. And if files are more thanX
, delete the excessive files. To me, it's tricky to this in shell script. So, I ended up in having smart filename instead.
I name the files aswww.mywebsite.com.YYYY-MM-DD.sql.tar
. So, to delete the file that was created X days ago. All I have to do it to generate the date of X day ago and place in similar filename structure and then calls3cmd del s3://BUCKETNAME/SUB/DIRECTORY/OLD_FILENAME
#!/bin/bash set -e is_quiet="false" mysql_user="naishe" mysql_pass="mysqlp@ssword" mysql_db="appdb" staging_dir="/tmp/mysql_bkp" logfile="/var/log/mysql.bkp" s3_bucket="backupbucket/www/mysql" aws_access_key="" aws_secret_key="" keep_for_days=30 today=$( date '+%Y-%m-%d' ) remove_bkp_on=$( date -d "${today} -${keep_for_days} days" '+%Y-%m-%d' ) filename="www.naishe.in" write_to="${filename}.${today}.sql" delete_file="${filename}.${remove_bkp_on}.sql.tar" fullpath_sqlfile="${staging_dir}/${write_to}" fullpath_tarfile="${fullpath_sqlfile}.tar" # conditinal printing function echome(){ if [ "${is_quiet}" != "true" ] ; then echo -e "\033[0;34m\xE2\x9C\x93 $1\033[0m" fi } function start_bkp(){ echome "--- MySQL Backup on $( date '+%b %d, %Y' ) ---" #delete staging dir if any echome "Cleaning staging directory: ${staging_dir}" rm -rf ${staging_dir} mkdir ${staging_dir} #take a MySQL dump echome "Starting MySQL backup..." echome "mysqldump --user ${mysql_user} --password=${mysql_pass} --add-locks --flush-privileges --add-drop-table --complete-insert --extended-insert --single-transaction --database ${mysql_db} > ${fullpath_sqlfile}" mysqldump --user ${mysql_user} --password=${mysql_pass} --add-locks --flush-privileges --add-drop-table --complete-insert --extended-insert --single-transaction --database ${mysql_db} > ${fullpath_sqlfile} #tar echome "Creating tar file..." echome "tar cf ${fullpath_tarfile} --directory=${staging_dir} ${write_to}" tar cf ${fullpath_tarfile} --directory=${staging_dir} ${write_to} #upload to S3 echome "Uploading to S3..." echome "s3cmd put ${fullpath_tarfile} \"s3://${s3_bucket}/\"" s3cmd put ${fullpath_tarfile} "s3://${s3_bucket}/" echome "Deleting the file uploaded ${keep_for_days} days ago..." echome "s3cmd del \"s3://${s3_bucket}/${delete_file}\"" s3cmd del "s3://${s3_bucket}/${delete_file}" #delete staging folder echome "Removing staging directory: ${staging_dir}" rm -rf ${staging_dir} echome "--- MySQL Backup Completed ---" echome " " } start_bkp >> ${logfile}
Setting up Cron job: Place this script somewhere safe. Provide appropriate permission to it. I kept it under
/opt/scripts/mysql_backup.sh
, and appended this line to crontab -e
0 4 * * * /opt/scripts/mysql_backup.shthis runsthe script daily at 4AM.
شركة مكافحة حشرات بجدة
ReplyDeleteشركة كشف تسربات المياه بالدمام
شركة تخزين عفش بالدمام
شركة تنظيف مدارس بالدمام
شركة تنظيف فلل بالدمام
شركة مكافحة الصراصير بالدمام
شركة مكافحة الفئران بالدمام
شركة مكافحة بق الفراش بالدمام
شركة نقل عفش بالدمام
شركة نقل عفش بالمدينة المنورة
شركة تنظيف واجهات حجر بالدمام
شركة تنظيف كنب بالدمام
شركة تنظيف اثاث بالدمام
شركة تنظيف شقق بالدمام
Deleteشركة تنظيف بالدمام
شركة مكافحة حشرات بالدمام
شركة رش مبيدات بالدمام
شركة تسليك مجارى بالدمام
شركة شفط بيارات بالدمام
شركة تنظيف بالجبيل
شركة مكافحة حشرات بالجبيل
شركة تسليك مجارى بالجبيل
شركة تنظيف بالخبر
شركة تسليك مجارى بالخبر
شركة مكافحة حشرات بالخبر
شركة شفط بيارات بالخبر
ReplyDeleteشركة تنظيف بالرياض
شركة تنظيف منازل بالرياض
شركة تنظيف فلل بالرياض
شركة تنظيف خزانات بالرياض
شركة رش مبيدات بالرياض
شركة كشف تسربات المياه بالرياض
شركة تنظيف مجالس بالرياض
شركة جلى بلاط بالرياض
شركة تنظيف واجهات زجاج بالرياض
شركة تنسيق حدائق بالرياض
شركة دهانات بالرياض
شركة عزل اسطح بالرياض
شركة نقل اثاث بالرياض
Phone: 0555618071
website: https://www.alrayyanclean.com
Deleteرش مبيدات بالدمام
شركة تسليك مجارى بالدمام
شركة مكافحة حشرات بالمدينة المنورة
شركة كشف تسربات بالمدينة المنورة
شركة تنظيف مسابح بالدمام
شركة مكافحة حشرات بجدة
شركة تسليك مجارى بالمدينة المنورة
شركة كشف تسربات بالقصيم
شركة تسليك مجارى بابها وخميس مشيط
رش مبيدات بابها
رش مبيدات بالدمام
كشف تسربات بالرياض
شركة كشف تسربات بجدة
شركة كشف تسربات بالدمام
شركة نقل اثاث بالمدينة المنورة
شركة كشف تسربات بالمدينة المنورة
شركة كشف تسربات بالدمام
شركة مكافحة حشرات بالمدينة المنورة
شركة تسليك مجارى بالمدينة المنورة
شركة نقل اثاث بالمدينة المنورة
شركة تسليك مجارى بجدة
شركة نظافة عامة بجدة
شركة نقل اثاث بجدة
شركة كشف تسربات بجدة
شركة تسليك مجارى بالدمام
==================================================================
==================================================================
شركة تنظيف موكيت بالدمام
شركة كشف تسربات بالدمام
شركة نظافة عامة بالدمام
شركة نقل اثاث بالدمام
شركة تسليك مجارى بالرياض
تنظيف فلل بالرياض
تنظيف بالرياض
تخزين اثاث بالرياض
كشف تسربات بالرياض
شركة تنظيف مسابح بالرياض
مكافحة حشرات بالرياض
نقل اثاث بالرياض
شركة دهانات بالرياض
تنظيف بالطائف
تنظيف بخميس مشيط
رش مبيدات بجازان
تسليك مجارى بجازان
Deleteرش مبيدات بالدمام
شركة تسليك مجارى بالدمام
شركة كشف تسربات بالدمام
شركة مكافحة حشرات بجدة
شركات تنظيف بحفر الباطن
شركة رش مبيدات بحفر الباطن
شركة كشف تسربات بالدمام
شركة كشف تسربات وعزل اسطح وخزانات
ReplyDeleteرش مبيدات بالدمام
شركة تسليك مجارى بالدمام
شركة كشف تسربات بالدمام
شركة مكافحة حشرات بجدة
شركات تنظيف بحفر الباطن
شركة رش مبيدات بحفر الباطن
شركة كشف تسربات بالدمام
شركة كشف تسربات وعزل اسطح وخزانات
ReplyDeleteرش مبيدات بالدمام
شركة تسليك مجارى بالدمام
شركة مكافحة حشرات بالمدينة المنورة
شركة كشف تسربات بالمدينة المنورة
شركة تنظيف مسابح بالدمام
شركة مكافحة حشرات بجدة
شركة تسليك مجارى بالمدينة المنورة
شركة كشف تسربات بالقصيم
شركة تسليك مجارى بابها وخميس مشيط
رش مبيدات بابها
رش مبيدات بالدمام
كشف تسربات بالرياض
شركة كشف تسربات بجدة
شركة كشف تسربات بالدمام
شركة نقل اثاث بالمدينة المنورة
شركة كشف تسربات بالمدينة المنورة
شركة كشف تسربات بالدمام
شركة مكافحة حشرات بالمدينة المنورة
شركة تسليك مجارى بالمدينة المنورة
شركة نقل اثاث بالمدينة المنورة
شركة تسليك مجارى بجدة
شركة نظافة عامة بجدة
شركة نقل اثاث بجدة
شركة كشف تسربات بجدة
شركة تسليك مجارى بالدمام
==================================================================
==================================================================
شركة تنظيف موكيت بالدمام
شركة كشف تسربات بالدمام
شركة نظافة عامة بالدمام
شركة نقل اثاث بالدمام
شركة تسليك مجارى بالرياض
تنظيف فلل بالرياض
تنظيف بالرياض
تخزين اثاث بالرياض
كشف تسربات بالرياض
شركة تنظيف مسابح بالرياض
مكافحة حشرات بالرياض
نقل اثاث بالرياض
شركة دهانات بالرياض
تنظيف بالطائف
تنظيف بخميس مشيط
رش مبيدات بجازان
شركة مقاولات بالرياض
ReplyDeleteشركة ديكورات بالرايض
شركة دهانات بالرياض
شركة جبس بالرياض
شركة تنسيق حدائق بالرياض
شركة ترميم بالرياض
شركة تركيب أنظمة أمنية وكاميرات مراقبة بالرياض
شركة مقاولات بالرياض
ReplyDeleteشركة ديكورات بالرايض
شركة دهانات بالرياض
شركة جبس بالرياض
شركة تنسيق حدائق بالرياض
شركة ترميم بالرياض
شركة تركيب أنظمة أمنية وكاميرات مراقبة بالرياض
شركة تنظيف خزانات بالرياض
ReplyDeleteشركة عزل خزانات بالرياض
شركة تنظيف موكيت بالرياض
شركة صيانة وترميم بالرياض
ثبت شرکت
ReplyDeleteثبت شرکت
ثبت شرکت
طراحی سایت
ثبت شرکت
ثبت شرکت
طراحی سایت
طراحی سایت
طراحی سایت
طراحی سایت
ثبت شرکت
ReplyDeleteشركات نقل العفش بمكة
افضل شركه نقل اثاث بمكه
شركة نقل عفش في مكة المكرمة
شركة نقل اثاث بمكة
نقل اثاث بمكة
نقل اثاث فى مكة
نقل عفش مكة
نقل عفش بمكة
نقل عفش داخل مكة
نقل عفش فى مكة
شركة قمة الدقة للخدمات المنزلية
ReplyDeleteشركة مكافحة حشرات بالرياض
شركة مكافحة النمل بالرياض
شركة مكافحة النمل الابيض بالرياض
شركة مكافحة الصراصير بالرياض
شركة مكافحة الفئران بالرياض
شركة مكافحة الثعابين بالرياض
شركة مكافحة البعوض بالرياض
شركة رش مبيدات بالرياض
شركة رش دفان بالرياض
شركة رش مبيد بالرياض
مكافحة حشرات بالرياض
شركة مكافحة حشرات
مكافحة حشرات
شركة مكافحة الحشرات بالرياض
I like the post format as you create user engagement in the complete article. It seems round up of all published posts. Thanks for gauging the informative posts.
ReplyDeletecara menggugurkan hamil
ReplyDeleteشركة تسليك مجارى بالرياض
شركة تنظيف مجالس بالدلم والخرج
شركة تنظيف مكيفات بالخرج
شركة تنظيف مكيفات بالرياض
I thank you for the information and articles you provided cara menggugurkan kandungan dan mempercepat haid
ReplyDelete
ReplyDeleteشركة عزل خزانات بالقصيمهل تعاني من تسربات المياه في منزلك أو على الجدران أو الأسقف ، هل تقلق من ترك هذه المشكلة لشركة قليلة الخبرة والتسبب في تشققات وأضرار في المناطق المتضررة من تسرب المياه وعلاماتها ، لا تقلق ، مع قيام شركتنا باكتشاف تسربات المياه في المخبز ، يمكننا أن نطمئن إلى أن شركتنا لا تعاني من هذه المشكلة. افضل شركة كشف تسربات المياه بالقصيم
يمكن أن تسبب لك المنازل المتسربة العديد من المشاكل ، من أهمها ارتفاع فواتير المياه ، أو تآكل الطلاء ، أو العناصر الخرسانية في المباني ، أو حتى الصعوبات في المنزل نتيجة تفاعل الماء شركة كشف تسربات المياه بعنيزةمع مواد البناء على الجدران والأرضيات المصدر شركة عزل أسطح بالقصيم.
شركة عزل خزانات بالقصيم
تقدم شركتنا خدمات اخرى
شركة تنظيف خزانات بالقصيم
شركة كشف تسربات المياه ببريدة
شركة كشف تسربات المياه بالبكيرية