انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: doomhammer65ir در 13 مهر 1390، 05:27 بظ
-
با کمک این راهنما میتوانید هر شب از وبسایتتان فول بکاپ گرفته آن را به میزبانی دیگر ( FTP ) انتقال دهید .
نکته ها :
در این روش فول بکاپ نخست بر روی میزبان کنونی ساخته میشود و سپس به میزبانی دیگر ( FTP) منتقل میشود .
پس اگر حجم داده هاتان بالاست ( مثلا 80 درصد هاست پر است ) با اینکار احتمال فراوان شما ار مرز فضای ویژه خودتان خواهید گذشت . اگر میزبانتان به این کار حساس باشد با یکی دو بار انجام این کار معلق خواهید شد . برای پیشگیری میتوانید از خدمت بکاپی که بنده ارائه میدهم استفاده کنید .
دقت بفرمایید نیاز نیست هر روز از فایلها ( اسکریپت - عکس ... ) بک آپ بگیرید . هر بار که ساختار اسکریپت ها و عکس هاتان دگرگون شد یکبار بکاپ بگیرید .
بکاپ هر روزه تنها باید از MYSQLآن هم زمانی که هر روز سایت یا انجمن به روز میشود انجام گیرد .
++++++++++++++++++++++++++++++++++++++++++
در ریشه ( بالاتر از public_html ) پرونده های زیر را بسازید ؛
پرونده ای با نام :
.netrc
درونش بنویسید :
machine --/of/FTP SERVER
login USER
password PASS
دسترسی این پرونده باید 600 باشد .
پرونده ای با نام autoftp بسازید و درونش بنویسید :
open --/of/FTP SERVER
put fullbackup*.tar.gz
close
دسترسی این پرونده باید 600 باشد .
فایلی با نام backup.sh ساخته درونش اینها را بنویسید :
tar -czf files.tar.gz ./ --preserve-permissions ;
mysqlump -u USERNAME -pPASSWORD --all-databases ->dbBackup.sql ;
tar -czf dbBackup.sql.tar.gz dbBackup.sql --preserve-permissions ;
tar -czf fullbackup_$(date +%d_%m_%Y).tar.gz dbBackup.sql.tar.gz files.tar.gz --preserve-permissions ;
rm -f dbBackup.sql.tar.gz files.tar.gz ;
pftp < autoftp ;
rm -f fullbackup_$(date +%d_%m_%Y).tar.gz ;
دسترسی این پرونده باید 700 باشد .
++++++++++++++++++++++++++++++++++++++++
برای گرفتن فول بکاپ ( خودکار - هر شب ) باید از cron بهره بریم .
در CPANEL بروید به بخش زیر :
Advanced -> Cron Jobs
در دایرکت ادمین :
Advanced Tools < Cron Jobs
برای اینکه زمان رونوشت برداری را درست دهیم باید دقت کنید زمان سرورتان چیست . اگر یعنی اگر در آمریکاست نزدیک به 12 ساعت و اگر در اروپاست نزدیک به +3 ساعت با ایران اختلاف دارد . پس نیمه شب ایران را با سرور بسنجید و زمان درست در بخش ساعت تنظیم کنید . برای نمونه 12 نیمه شب این است :
minute : 0
hour : 0
دیگر کادر ها : *
درپایان در بخش command بنویسید :
./backup.sh
-
رونوشت برداری نیمه خودکار : این بار با دسترسی SSHبه خادم رونوشت ها
با فرمان زیر یک رونوشت از پوشه ی public_html یا هر پوشه دیگری خواهید برداشت :
EMROOZ=$(date +%F) ;
FILES_DIR=/home/mohammad/test/' ;
IP_SERVER_BACKUP=122.89.209.136' ;
BACKUP_USER=root' ;
tar -czf files_backup_$EMROOZ.tar.gz $FILES_DIR ;
scp files_backup_$EMROOZ.tar.gz $BACKUP_USER@$IP_SERVER_BACKUP:backup/files/files_backup_$EMROOZ.tar.gz ;
rm -f files_backup_$EMROOZ.tar.gz;
به جای /home/mohammad/test نام پوشه ای که میخواهید ازش رونوشت بردارید
به جای 122.89.209.136 آی پی خادم رونوشت ها
به جای root نام کاربری که بر روی خادم رونوشت ها ساخته اید یا دارید
فرمان ها را در پرونده ای با نام files_backup.sh ریخته بدان دسترسی 700 دهید
=================================================
با فرمان های زیر رونوشتی از MYSQLبرمیدارید :
IP_SERVER_BACKUP=110.189.209.136' ;
BACKUP_USER=root' ;
MYSQL_USER=mohammad' ;
MYSQL_PASS=TTRR' ;
EMROOZ=$(date +%F) ;
mysqldump -u $MYSQL_USER --password=$MYSQL_PASS --all-databases ] db_backup_$EMROOZ.sql;
tar -czf db_backup_$EMROOZ.sql.tar.gz db_backup_$EMROOZ.sql ;
rm -f db_backup_$EMROOZ.sql ;
scp db_backup_$EMROOZ.sql.tar.gz $BACKUP_USER@$IP_SERVER_BACKUP:backup/db/db_backup_$EMROOZ.sql.tar.gz ;
rm -f db_backup_$EMROOZ.sql.tar.gz;
به جای 110.189.209.136 آی پی خادم بکاپ ها
به جای root کاربری که بر روی خادم بکاپ ساخته اید یا دارید
به جای mohammad نام کاربری MYSQL تان
به جای TTRR رمز MYSQLتان
فرمان ها را در پرونده ای با نام db_backup.sh ریخته بدان دسترسی 700 دهید
================================================
برای گرفتن فول بکاپ ( خودکار - هر شب ) باید از cron بهره بریم .
در CPANEL بروید به بخش زیر :
Advanced -] Cron Jobs
در دایرکت ادمین :
Advanced Tools < Cron Jobs
برای اینکه زمان رونوشت برداری را درست دهیم باید دقت کنید زمان سرورتان چیست . اگر یعنی اگر در آمریکاست نزدیک به 12 ساعت و اگر در اروپاست نزدیک به +3 ساعت با ایران اختلاف دارد . پس نیمه شب ایران را با سرور بسنجید و زمان درست در بخش ساعت تنظیم کنید . برای نمونه 12 نیمه شب این است :
minute : 0
hour : 0
دیگر کادر ها : *
درپایان در بخش command بنویسید :
./files_backup.sh
یک بار هم این کار را برای db_backup.sh انجام دهید .
================================================
برای خودکار سازی کار هویت سنجی در SSH:
http://www.chxo.com/be2/20030905_77fe.html
==================================================