اسکریپت تهیه نسخه پشتیبان از فایلها و بانکهای اطلاعاتی در SSH

در سرورهای لینوکسی می توانید با استفاده ازاین اسکریپت در SSH به اهداف ذیل دست پیدا کنید:

  • تهیه نسخه پشتیبان از پوشه ها و فایلهای مورد نظر
  • امکان عدم تهیه نسخه پشتیبان از پوشه هایی مشخص درون فایلهای فوق
  • فشرده سازی نسخه پشتیبان
  • تغییر نام فایل نسخه پشتیبان به همراه متغیر هایی همچون تاریخ و ساعت
  • تهیه نسخه پشتیبان از بانک اطلاعاتی MySQL
  • ارسال نسخه پشتیبان به سرور FTP

ابتدا فایل اجرایی را با دستور زیر ایجاد نمائید.
[root@zagrio ~]# nano backup.sh
محتوای فایل: (موارد قرمز رنگ می بایست مطابق نیاز اصلاح شود)
#!/bin/sh
#Path Configuration
export BACKUP_PATH='/root/backup/'
export FILES_BACKUP_FILENAME='files.tar.gz'
export DATABASE_BACKUP_FILENAME='database.sql.gz'
export PATH_TO_BACKUP='/path/to/backup'
export PATH_TO_EXCLUDE1='/path/to/backup/excludethis1'
export PATH_TO_EXCLUDE2='/path/to/backup/excludethis2'
#Database Configuration
export DATABASE_USERNAME='username'
export DATABASE_PASSWORD='password'
export DATABASE_HOST='localhost'
export DATABASE_NAME='database'
#FTP Configuration
export FTP_HOST='ftp.host.com'
export FTP_USERNAME='username'
export FTP_USERNAME='password'
#Create Backup Directory
mkdir  $BACKUP_PATH
#Compress files / define any excluded folder
tar -cjvf $BACKUP_PATH$DATABASE_BACKUP_FILENAME $PATH_TO_BACKUP --exclude $PATH_TO_EXCLUDE1 --exclude $PATH_TO_EXCLUDE2
#Create MySQL Backup
mysqldump -u $DATABASE_USERNAME -h $DATABASE_HOST -p$DATABASE_PASSWORD $DATABASE_NAME | gzip -9 > $BACKUP_PATH$DATABASE_BACKUP_FILENAME
#Get Date
MY_DATE=`date +%Y%m%d`
export MY_DATE
#Transfer Backups to FTP Host
ftp -n -i $FTP_HOST <<END_SCRIPT
user ${FTP_USERNAME} ${FTP_PASSWORD}
put ${BACKUP_PATH}${DATABASE_BACKUP_FILENAME} files_${MY_DATE}.sql.gz
put ${BACKUP_PATH}${FILES_BACKUP_FILENAME} database_${MY_DATE}.tar.gz
END_SCRIPT
#Remove local backup after upload
rm $BACKUP_PATH* -f
سپس با دستور زیر سطح دسترسی اجرایی برای آن تعریف کنید 
[root@zagrio ~]# chmod backup.sh 777

حالا به شکل زیر آن را اجرا نمائید و یا در Cron قرار دهید.
[root@zagrio ~]# ./backup.sh
  • 0 کاربر این مقاله را مفید می دانند
آیا این پاسخ مفید بود؟

مقالات مرتبط

هنگام ارسال یا دریافت ایمیل با خطای 0x800ccc0d یا 0x800ccc0f مواجه می شوم .

اگر هنگام ارسال یا دریافت ایمیل با برنامه Outlook با یکی از خطاهای زیر مواجه شدید: The server...

نحوه نصب Logwatch

نحوه نصب Logwatch جهت نصب Logwatch شما می توانید از محیط ترمینال ( SSH ) دستور زیر را وارد...

فعال کردن allow_url_fopen در سی پنل

برای فعال کردن allow_url_fopen در WHM بصورت زیر اقدام کنید.1- وارد WHM شوید.2- وارد مسیر Home »...

نمایش ادرسهایی که بیشترین درخواست را به آپاچی ارسال کرده اند

لیست ۱۰آدرس IP که بیشترین درخواست را به Apache ارسال کرده اند: awk '{print $1}'...

محدود کردن تعداد کانکشن به سرور برای هر ip

شما میتوانید برای تنظیم ماکسیمم تعداد کانکشن برای هر ip به پورت مشخص از طریق csf اقدام...