بک آپ گیری اتوماتیک از سرور با BackBlaze و rclone

BackBlaze سرور اشتراکی فایلیکی از موضوعاتی که یک بار پیش بیاد برای یک عمر کافیه، از دست دادن اطلاعات هست. حالا از اون بدتر اطلاعات مشتری یا اطلاعات سرور و دیتابیس هاتو این نوشته میخوام براتون در مورد این بنویسم که چطور میشه با استفاده از چند سرویس رایگان و راحت به صورت کامل از اطلاعات سرورهاتون بک اپ تهیه کنید.برای این کار از چند سرویس خیلی خوب استفاده میکنم:1: سایت بک بلیز برای فضای کلود ذخیره سازی ( 10 گیگ رایگان )2: نرم افزار rclone برای سینک کردن3: کرون جاب برای دستورات اتوماتیک1: ثبت نام در سایت بک بلیز و ساخت باکتاول از همه به سایت بک بلیز میریم و یک اکانت می سازیم ( از اونجا که برای ایرانی ها تحریم هست حتما مشخصات خارج از کشور درست کنید و حتما با v p n وارد بشین )https://www.backblaze.com/b2/sign-up.htmlاگر در هنگام ثبت نام شماره تلفن خارج از ایران ازتون خواست میتونین از سایت زیر استفاده کنیدhttps://www.receive-sms-online.info/بعد از ثبت نام و لاگین در سایت صفحه ای شبیه این رو میبینید:B2 Cloud Storage حال بر روی گزینه Create a Bucket کلیک کنیدساخت باکت جدید به صورت Privateبعد از ساخت باکت صفحه ای شبیه ای را می بینید2: نصب و راه اندازی rclone حالا کافیه وارد سرور اصلی خودتون بشین و نرم افزار rclone رو نصب و راه اندازی کنید.اتصال از طریق ssh به سرور خودتون:ssh root@yourserverdomain -p sshportnumberحالا نرم افزار rclone را برای سیستم عامل مورد نظر خودتون از لینک زیر دانلود کنید:https://rclone.org/downloads/آموزش کامل نصب را میتونید از لینک زیر دنبال کنید:https://rclone.org/install/برای مثال من نسخه لینوکس AMD 64 را برای سرور cenots 6.9 خودم دانلود کردم و بعد نصبش کردم:curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64کپی کردن فایلهای باینریsudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rcloneنصب فایهای راهنماsudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb حالا برای نصب تنظیمات دستور زیر را وارد کنید: rclone configNo remotes found - make a new one n) New remote q) Quit config n/q> n name> remote #اسمی براش انتخاب کنید. مثلا من اسم را خود ریموت گذاشتم Type of storage to configure. Choose a number from below, or type in your own value 1 / Amazon Drive \ &quotamazon cloud drive&quot 2 / Amazon S3 (also Dreamhost, Ceph, Minio) \ &quots3&quot 3 / Backblaze B2 \ &quotb2&quot 4 / Dropbox \ &quotdropbox&quot 5 / Encrypt/Decrypt a remote \ &quotcrypt&quot 6 / Google Cloud Storage (this is not Google Drive) \ &quotgoogle cloud storage&quot 7 / Google Drive \ &quotdrive&quot 8 / Hubic \ &quothubic&quot 9 / Local Disk \ &quotlocal&quot 10 / Microsoft OneDrive \ &quotonedrive&quot 11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ &quotswift&quot 12 / SSH/SFTP Connection \ &quotsftp&quot 13 / Yandex Disk \ &quotyandex&quot Storage> 3 #انتخاب گزینه 3 یعنی بک بلیز Account ID #اینجا باید اکانت ای دی بک بلیز خودتون رو وارد کنید account> 123456789abc Application Key #اینجا باید اپلیکشن کی بک بلیز خودتون رو وارد کنید key> 0123456789abcdef0123456789abcdef0123456789 Endpoint for the service - leave blank normally. endpoint> Remote config -------------------- [remote] account = 123456789abc key = 0123456789abcdef0123456789abcdef0123456789 endpoint = -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y #ذخیره تنظیمات برای دریافت application id و account id باید به بک بلیز برین و صفحه اول قسمت باکت ها گزینه ای وجود داره به نام Show Account ID and Application Keyبا کلیک روی اون چیزی شبیه این رو میبنید خوب حالا شما rclone رو روی سرور خودتون نصب کردین و به بک بلیز خودتون وصل کردین. فقط میمونه سینک کردن و کرون تعریف کردن برای اینکه همیشه اینکار انجام بشه3: سینک فایلها از سرور به بک بلیزحالا با دستور زیر میتونین فایل های سرور خودتون رو سینک کنید: rclone sync /home/amirgilan/public_html/ remote:amirgilan --verbose > /var/log/rclone.log 2>&1 در حین ترنسفر میتونین سرعت انتقال رو با دستور nload چک کنید: sudo yum install nload nload -i 100000 -o 100000 تعریف cron job برای اینکه به صورت اتومات این فرایند انجام شود:0 3 1,15 * * rclone sync /home/amirgilan/public_html/ remote:amirgilan --verbose > /var/log/rclone.log 2>&1دستور فوق می گوید 1ام و 15 هم هر ماه ساعت 3 صبح سینک کن فایل های سرور در پوشه home/amirgilan را با بلک بلیز remote در باکت amirgilanانجام اتوماتیک سینک کردناین کرون می تونید در سرور خودتون در خط اخر این فایل اضافه کنید: sudo su - crontab -e برای ساخت کرن تب های دیگه میتونین از سایت زیر کمک بگیرینhttps://crontab-generator.org/ یا اگر از Cpanel استفاده میکنید در بخش advance گزینه ای به نام کرن جاب داردبک اپ گیری دیتابیس با mysqldump cd /home/amirgilan/public_html/mkdir dBحالا اگر از mysql استفاده میکنید توصیه میکنم برای دیتابیس خودتون از کرن زیر هم برای بک اپگیری استفاده کنید: mysqldump database_db > /home/amirgilan/public_html/dB/backup.sql برای این کار نیاز هست یک فایل هم در سرور خودتون ایجاد کنید و یوزر پسورد دیتابیس خودتون رو بنویسیدبرای مثال من این فایل را ساختمtouch .my.cnf nano .my.cnf [client] user = database_username password = "database_password" host = localhost خب، امیدوارم این اموزش به کارتون بیاد.خوشحال میشم هر سوال و نظری داشتید در بخش نظرات بپرسید.