สคริปต์สำรองสำหรับ Yandex.Disk

ฮาร์ดไดรฟ์

เรามักไม่คิดถึงการบันทึกไฟล์จนกว่าจะเกิดเหตุสุดวิสัย ตัวอย่างเช่น ฉันเมาที่ร้านกาแฟหรือ Vipadkovo และทำให้แล็ปท็อปของฉันเต็มไปด้วยกาแฟแน่นอนว่าไม่มีวิธีใดที่จะมั่นใจได้ว่าเงินของคุณจะได้รับการบันทึกจากการใช้จ่ายอย่างกะทันหัน ไม่เช่นนั้นคุณอาจไม่สามารถกลับเข้ามาได้

โนวา

เวอร์ชันไม่มีค่าใช้จ่าย

การสำรองข้อมูลที่มีประโยชน์ Yandex.Disk
หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับ Disk API โปรดเขียนถึงเรา

เวอร์ชันไม่มีค่าใช้จ่าย

การสำรองข้อมูลที่มีประโยชน์ Yandex.Disk
Handy Backup สำหรับ Windows เวอร์ชันใหม่ที่ไม่มีค่าใช้จ่าย ซึ่งผสานรวมกับ Yandex.Disk จะทำงานทั้งหมดให้กับคุณ

เวอร์ชันไม่มีค่าใช้จ่าย

การสำรองข้อมูลที่มีประโยชน์ Yandex.Disk
ด้วยยูทิลิตี้นี้ คุณสามารถสำรองข้อมูลสำคัญลงในดิสก์ของคุณได้อย่างง่ายดาย และไม่ต้องกังวลเรื่องความปลอดภัยของมันอีกต่อไป

เวอร์ชันไม่มีค่าใช้จ่าย

การสำรองข้อมูลที่มีประโยชน์ Yandex.Disk
"html":เรามักจะไม่คิดที่จะบันทึกไฟล์จนกว่าจะเกิดเหตุสุดวิสัย

เวอร์ชันไม่มีค่าใช้จ่าย

การสำรองข้อมูลที่มีประโยชน์ Yandex.Disk
"html":เรามักจะไม่คิดที่จะบันทึกไฟล์จนกว่าจะเกิดเหตุสุดวิสัย ตัวอย่างเช่น ฉันเมาที่ร้านกาแฟหรือ Vipadkovo และทำให้แล็ปท็อปของฉันเต็มไปด้วยกาแฟ">"imageSrc""https://yapic.yandex.ru/get/185828634/islands-middle","isYandexStaff":false),"OriginalModificationDate"":2013-06-18T08:01:54.000Z", "socialImage":("orig":("fullPath:https://avatars.mds.yandex.net/get-yablogs/47421/file_1453996106397/orig")))))">

ฉันจะไม่อธิบายอุปกรณ์เสริมทั้งหมดที่ Yandex.Disk มีให้ คุณควรรู้ทั้งหมด... และหนึ่งในนั้นคือความสามารถในการจัดระเบียบการสำรองข้อมูล VPS ไปยัง Yandex Disk
เซิร์ฟเวอร์ของฉันทำงานบน Debian ดังนั้นเรามาดูกันดีกว่า
มันเป็นอย่างนี้นี่เอง อย่าลืม!
ฉันได้ตั้งค่าการสำรองข้อมูลมากกว่าหนึ่งครั้ง แต่เมื่อเร็ว ๆ นี้มันพังและฉันต้องรวบรวมข้อมูลเกี่ยวกับการตั้งค่าอีกครั้ง
มีบทความและรายงานหลากสีสันมากมาย แต่ฉันก็ยอมรับว่า "ทั้งหมดในครั้งเดียว" เลย
ฉันจึงเขียนรวบรวมทุกอย่างไว้ในที่เดียวเพื่อให้คุณดูแลตัวเองได้และบางทีมันอาจจะเป็นประโยชน์กับคนอื่นก็ได้
เกี่ยวกับสาเหตุของการเสียด้านล่างนี้ ฉันได้คำนวณไว้แล้ว แต่ตอนนี้เกี่ยวกับการปรับเปลี่ยนและการติดตั้ง...
1. การคัดลอกไฟล์ไปยัง Y.Disk ดำเนินการโดยใช้โปรโตคอล WebDAV และสิ่งแรกที่เราต้องทำบนเซิร์ฟเวอร์ของเราคือติดตั้งยูทิลิตี้ davfs2
# apt-get ติดตั้ง davfs2
2. เราสร้างจุดติดตั้ง และง่ายกว่าถ้าพูดถึงโฟลเดอร์บนเซิร์ฟเวอร์ของเราที่ข้อมูลสำรองของเราถูก "บันทึก" ในรายการของฉันคือ: mnt/yandex.disk
# mkdir /mnt/yandex.disk
3. เพื่อหลีกเลี่ยงการป้อนข้อมูลเข้าสู่ระบบและรหัสผ่านสำหรับดิสก์ของคุณด้วยตนเองทุกครั้ง ให้บันทึกไว้ในไฟล์การกำหนดค่า davfs2
อยู่ที่นี่: /etc/davfs2/secrets บันทึกดังนี้:
# echo "https://webdav.yandex.ru YOUR_YANDEX_LOGIN YOUR_YANDEX_PASSWORD" >> /etc/davfs2/secrets
4. ติดตั้งดิสก์:
# mount -t davfs https://webdav.yandex.ru/mnt/yandex.disk/
5. เราตรวจสอบทุกอย่างว่าดี:
# df -h /mnt/yandex.disk/
เมื่อทุกอย่างโตขึ้น เราก็ต้องโทษเรื่องแบบนี้:
ขนาดระบบไฟล์ที่ใช้ ประโยชน์ใช้% ติดตั้งบน

https://webdav.yandex.ru

จำตั้งแต่ต้นบทความที่คิดว่า "พัง"... และพังเพราะเป็น FUSE
ไม่ว่าจะด้วยเคอร์เนลที่อัปเดตหรือฉันยังคงดิ้นรนอยู่ แต่มันก็ใช้งานไม่ได้
ด้วยเหตุนี้ เมื่อทำการติดตั้ง ฉันเลือก “/sbin/mount.davfs: ไม่มีอุปกรณ์โค้ดฟรีที่จะเมานต์” และบลา บลา บลา อีกสองสามแถว
FUSE อยู่ต่อหน้าฉัน แต่มันไม่ได้เริ่มต้น
วิ่ง:
#modprobefuse
อย่างไรก็ตาม หลังจากรีสตาร์ท VPS แล้ว จะต้องเริ่มใหม่อีกครั้งด้วยตนเอง

คุณสามารถเลือกเคอร์เนลใหม่หรือทำให้ง่ายขึ้นโดยเพิ่มฟิวส์ที่ส่วนท้ายของไฟล์ /etc/initramfs-tools/modules

หรือง่ายกว่านั้น:

# echo "ฟิวส์" >> /etc/modules ฉันจ่ายค่าสูตรนี้จาก Habrแค่นั้นแหละ.


ที่บอกว่าทุกอย่างโอเค!

  • - โซลูชันที่ง่ายกว่า ใช้งานได้ดีกว่า และถูกกว่า
  • Handy Backup ช่วยให้คุณใช้อินเทอร์เฟซ WebDAV ยอดนิยมสำหรับ Yandex.Disk แทนการเข้าถึงโดยตรง
  • สำรองข้อมูลอัตโนมัติไปยัง Yandex.Disk

หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับ Handy Backup คุณสามารถดาวน์โหลดข้อมูลสำรองไปยัง Yandex.Disk สำหรับข้อมูลใดก็ได้

  • โหมดอัตโนมัติ
  • หลังจากจัดวางตามช่วงเดือนถึงเดือนหรือหลังวันรวมทั้งด้วยตนเอง
  • คุณสามารถทำให้การคัดลอกข้อมูลใดๆ เป็นแบบอัตโนมัติได้ เช่น:
  • ดานี โคริสตูวัค:


ไฟล์และโฟลเดอร์ (คุณสามารถค้นหาตามชื่อ)

  • ไลบรารี Windows, โฟลเดอร์ koristuvach
  • Microsoft Outlook ไฟล์และโฟลเดอร์ของโปรแกรมรับส่งเมลอื่นๆ
  • ประเภทข้อมูลเซิร์ฟเวอร์: ฐานข้อมูล MS SQL, MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notesไมโครซอฟต์เอ็กซ์เชนจ์
  • เนื้อหาของเซิร์ฟเวอร์ FTP, SFTP หรือ FTPS ที่เข้ารหัสด้วย SSL/TLS

เว็บไซต์ (เนื้อหาคงที่และไดนามิก)

  • เครื่องเสมือนและสัตว์ประหลาด:
  • ไฮเปอร์-วี, วีเอ็มแวร์
  • เซิร์ฟเวอร์ อาร์เรย์ และโฮสต์เครื่องเสมือน
  • ขมารี

Google ไดรฟ์

, Dropbox, Amazon S3, OneDrive, Box, 4shared และอื่นๆ

กลายเป็นความมืดมนเบื้องหลังอินเทอร์เฟซ WebDAV ข้อมูลประเภทอื่นๆ:ดิสก์อิมเมจ

ข้อมูลจาก 1C ในไฟล์และเวอร์ชัน SQL สำหรับ 1C 7.7 และ 1C 8 เช่น 1C 8.2

ไฟล์ โฟลเดอร์ และไลบรารีของเครื่องป้องกันความเสี่ยง (สำหรับเครื่องป้องกันความเสี่ยง) รีจิสทรีของ Windows ข้อดีของโซลูชัน Handy Backup สำหรับการจัดระเบียบการสำรองข้อมูลบน Yandex.Diskผู้พิทักษ์ข้อมูลของคุณ.


เปิดการบันทึกสำเนาในรูปแบบเอาต์พุต

ตรงกันข้ามกับการรักษาความปลอดภัยที่เชื่อถือได้ที่มาพร้อมกับการเข้ารหัสและการบีบอัด Handy Backup สร้างขึ้น สำเนาสำรองโดยการบันทึกรูปแบบไฟล์เอาท์พุต


ซึ่งจะทำให้คุณสามารถดู แก้ไข และอัปเดตข้อมูลสำรองเป็นไฟล์ต้นฉบับได้

ดึงดูด

ปรี๊ดตี!
เวอร์ชัน 7.9.4 ลงวันที่ 15 มิถุนายน 2017 66.1 ลบโปรแกรมสำรองข้อมูล การสำรองข้อมูลที่มีประโยชน์ 7400 รูเบิล

สำหรับใบอนุญาต

โซลูชัน Office Expert ช่วยให้คุณสามารถคัดลอกข้อมูลประเภทใดก็ได้จากคอมพิวเตอร์เครื่องหนึ่งไปยัง Yandex.Disk โดยอัตโนมัติ ไม่ว่าจะโดยตรงหรือผ่าน WebDAV

ระยะเวลาทดลองใช้ฟรี 30 วัน! จะสร้างการสำรองข้อมูลบน Yandex.Disk Handy Backup ได้อย่างไร ขณะนี้การแทนที่การสำรองข้อมูล WebDAV เก่าบน Yandex.Disk สำหรับการจัดระเบียบการสำรองข้อมูลถูกระงับแล้ว ปลั๊กอินการสำรองข้อมูลที่มีประโยชน์ใหม่ ยานเดกซ์ดิสก์ด้วยการเข้าถึง

  1. บริการหมัด
  2. ผ่านอินเทอร์เฟซ RestAPI หากต้องการเข้าถึงอย่างรวดเร็ว ให้เชื่อมต่อสิ่งต่อไปนี้:
  3. เปิด Handy Backup และสร้างการสำรองข้อมูลใหม่โดยใช้ปุ่มเพิ่มเติมบนแผงหรือเมนู เลือกปลายทางการสำรองข้อมูลไปที่
  4. โครคู 2 จากนั้นเลือกข้อมูลที่จำเป็นเพื่อสร้างสำเนาสำรองบน โครคู 3เลือกปลั๊กอินจากรายการการเชื่อมต่อ


  1. Yandex.Disk คลิกสองที่หน้าต่างที่เปิดอยู่ ทั้งสองสาวก็คลิกกัน

  1. "การกำหนดค่าใหม่" - บทสนทนาใหม่จะเปิดขึ้นกดปุ่ม
  2. “เชื่อมต่อกับ Yandex.Disk” - คุณจะถูกเปลี่ยนเส้นทางไปยังเบราว์เซอร์ของคุณในหน้าต่างเบราว์เซอร์ให้ป้อน


  1. เข้าสู่ระบบและรหัสผ่านสำหรับการเข้าถึง
  2. ไปยัง Yandex.Disk ยืนยันการเลือกของคุณไปที่หน้าต่าง Handy Backup และเลือกการกำหนดค่าที่สร้างขึ้น
  3. จากนั้นจึงตั้งค่างานของคุณต่อไปเช่นเดิม

บน

โครคู 6แสดงเค้าโครง สุดท้าย ให้หัวหน้างานของคุณทำงานให้เสร็จสิ้นงานสำรองข้อมูลอัตโนมัติของคุณบน Yandex.Disk พร้อมแล้วก่อนเปิดตัว และตอนนี้จะเริ่มต้นที่ความถี่ที่ระบุต่อชั่วโมง

คุณสามารถเปิดใช้งานได้ด้วยตนเอง

เคารพ:

นี่คือวิธีการสร้างงานเพื่อคัดลอกข้อมูลในบริการแย่ๆ อื่นๆ:คำแนะนำแบบวิดีโอนี้อิงตามข้อเท็จจริงที่ว่าโปรแกรมความปลอดภัย Handy Backup ได้รับการติดตั้งบนคอมพิวเตอร์แล้ว

หากไม่เป็นเช่นนั้น โปรดดาวน์โหลดและติดตั้ง Handy Backup ก่อนเริ่มวิดีโอแนะนำการใช้งาน

สำเนาสำรองไปยัง Yandex.Disk ผ่าน WebDAV โดยไม่คำนึงถึงความพร้อมใช้งานของเครื่องมือใหม่สำหรับการเข้าถึงบริการ Yandex.Disk โดยตรงในบางกรณีอาจกลายเป็นสิ่งที่ซ้ำซ้อนวิธีดั้งเดิม

- ตัวอย่างเช่น สำรองข้อมูลไซต์ไปยัง Yandex.Disk ผ่าน WebDAV โดยใช้ยูทิลิตี้การเข้ารหัสภายนอก

  • Handy Backup รองรับการสำรองข้อมูลไปยัง Yandex.Disk โดยใช้โปรโตคอล WebDAV

นี่คือวิธีการสร้างงานเพื่อคัดลอกข้อมูลในบริการแย่ๆ อื่นๆ:หากต้องการเพิ่มความเร็ว WebDAV เพื่อเข้าถึง Yandex.Disk ให้เลือกปลั๊กอิน WebDAV บน Kroka 3 ตามอัลกอริทึมคำอธิบายสำหรับการสร้างการตั้งค่า

ในกล่องโต้ตอบการกำหนดค่า WebDAV ให้ป้อนพารามิเตอร์สำหรับการเข้าถึง Yandex.Disk

หากคุณใช้ WebDAB การสำรองข้อมูลไปยัง Yandex.Disk จะมีประสิทธิภาพมากกว่าการเข้าถึงโดยตรง ตัวอย่างเช่น การสำรองข้อมูล 1C ไปยัง Yandex.Disk จะใช้เวลาหลายชั่วโมงมากเมื่อใช้ WebDAVการสำรองข้อมูลอัตโนมัติไปยัง Yandex.Disk ด้วยความช่วยเหลือของ Handy Backup กลายเป็นเรื่องง่ายยิ่งขึ้นและด้วยการเปิดตัวเครื่องมือใหม่ที่ให้การเข้าถึงบริการ Yandex โดยตรง

ลองด้วยตัวคุณเองด้วยการทดลองใช้ฟรี 30 วัน!

  • ไม่มีความลับว่าทำไมคุณถึงต้องการสำเนาสำรอง
  • ตัวอย่างเช่น นักพัฒนาเว็บจะต้องทำงานด้วยตนเองกับสำเนาสำรอง เนื่องจากในกระบวนการพัฒนาไวน์ มันเป็นไปไม่ได้สำหรับเขาที่จะสร้างโซลูชัน และหลังจากนั้นไม่กี่ปี โซลูชันจะ "ระบาย" บนพื้นผิวและในการค้นหา วิธีแก้ปัญหาที่หายไปจะไม่สูญหายเลย

โดยปกติแล้ว Vscale จะใช้ระบบสำรองข้อมูล แต่จะถ่ายโอนเฉพาะข้อมูลสำรองของเซิร์ฟเวอร์ทั้งหมดโดยตรงด้วย

ความสามารถเดียวกันในการอัปเดตจากสำเนาสำรองจะมีเฉพาะบนเซิร์ฟเวอร์ที่สร้างสำเนาเท่านั้น ความสามารถนี้ไม่สามารถตอบสนองความต้องการของนักพัฒนาเว็บอัจฉริยะได้เลยที่เก็บแพ็กเกจรายวันจากไคลเอ็นต์ Y.Disk คุณจะต้องเพิ่มที่เก็บด้วยตนเอง จากนั้นอัปเดตดัชนีแพ็กเกจหรือติดตั้งแพ็กเกจจากไคลเอ็นต์

บนเว็บไซต์ Y.Disk มีรายการคำสั่งที่จำเป็นในหนึ่งแถว: เสียงสะท้อน"deb http://repo.yandex.ru/yandex-disk/deb/stable หลัก" - sudo tee -a /etc/apt/sources.list .d/yandex.list > /dev/null && wget http:

//repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- |

sudo apt-key เพิ่ม - && sudo apt-get อัปเดต && sudo apt-get ติดตั้ง -y yandex-disk

ติดตั้งไคลเอนต์ Yandex สำเร็จแล้ว และคุณสามารถเริ่มการตั้งค่าได้

  1. ในยานเดกซ์พวกเขาพูดคุยเกี่ยวกับการทำให้แน่ใจว่าไคลเอนต์ทำงานกับไฟล์การกำหนดค่าด้วยวิธีที่เล็กที่สุดเท่าที่จะเป็นไปได้และมีความสามารถในการกำหนดค่าทุกอย่างด้วยคำสั่งเดียว:
  2. การตั้งค่าดิสก์ Yandex
  3. ลำดับการทำงานของคำสั่งที่นำเสนอคือ: คุณต้องการพร็อกซีเซิร์ฟเวอร์หรือไม่?(มี/ไม่มี) โครคู 3เข้าสู่ระบบบัญชีของคุณ (ป้อนข้อมูลเข้าสู่ระบบและรหัสผ่านของคุณ) โฟลเดอร์ Yaku vikorystuvati สำหรับเงินออมในท้องถิ่น
  4. ไฟล์?

(ปล่อยว่างไว้แล้วโปรแกรมจะสร้างโฟลเดอร์ขึ้นมา

ในโฮมไดเร็กตอรี่ (สำหรับ Ubuntu

/ราก/

- โปรดทราบว่าหลังจากยืนยันการดำเนินการ อาจผ่านไปหนึ่งชั่วโมงในขณะที่ไคลเอนต์ซิงโครไนซ์ไฟล์บนเซิร์ฟเวอร์)

คุณต้องการเปิดตัว Ya.Disk เมื่อระบบเริ่มทำงานหรือไม่?

(มี/ไม่มี)
ต้องปิดการใช้งาน Autostart Ya.Disk และรายการอื่น ๆ สามารถปรับได้ตามดุลยพินิจของคุณเอง
ณ จุดนี้ การปรับจะเสร็จสมบูรณ์

ขั้นตอนที่ 2 การสร้างและการตั้งค่าสำเนาสำรอง

หากต้องการสร้างสำเนาสำรอง คุณต้องเปลี่ยนคำสั่งบางคำสั่ง
คุณสามารถใช้ python หรือ perl เพื่อช่วยคุณในเรื่องนี้ แต่ทางที่ดีที่สุดคือขอความช่วยเหลือจาก bash
ใช้งานง่ายและโต้ตอบกับคอนโซลได้โดยตรง
สร้างสคริปต์ทุบตี:

นาโน /var/backup.sh วางลงในโค้ดที่ไม่เหมาะสมใหม่: SERVER_PATH="/var/www/html" cur_date=`วันที่ +%Y-%m-%d`ชื่อไฟล์ = "สำรอง-"$cur_date".tar.bz2" tar -cjf $ชื่อไฟล์ $SERVER_PATHถ้า [-f $ชื่อไฟล์];

แล้ว
mv $ ชื่อไฟล์ /root/Yandex.Disk/backup/

การซิงค์ดิสก์ยานเดกซ์

  1. ฟิ
  2. บันทึกไฟล์ด้วยคีย์ที่ใช้ Ctrl+O;
  3. ,ยืนยันด้วยกุญแจ เข้า.

คุณสามารถตรวจสอบสิ่งที่สคริปต์กำลังทำงานอยู่ได้โดยใช้คำสั่งต่อไปนี้:

ซีดี /var && ./backup.sh

อันเป็นผลมาจากชัยชนะของทีมเอกสารสำคัญสัตว์ประหลาดที่น่ากลัวจะถูกดึงดูด

บทที่ 3 ระบบอัตโนมัติของสำเนาสำรอง

มาเลยขั้นตอนสุดท้ายคือการเพิ่มสคริปต์ลงในตัววางแผน

โปรดช่วยเราด้วย crontab

เปิดรายการงานที่วางแผนไว้:

Crontab-e

เพิ่มแถวต่อท้าย:

0 0 * * * /var/backup.sh

ตอนนี้เราจะเปิดตัวสคริปต์ Crontab คืนนี้ ณ จุดนี้ การตั้งค่าการสร้างสำเนาสำรองโดยอัตโนมัติเสร็จสมบูรณ์วิสโนวอค คุณได้ตั้งค่าการสำรองข้อมูลอัตโนมัติสำหรับไดเร็กทอรีเว็บไซต์ของคุณเรียบร้อยแล้วนี่เป็นอัลกอริทึมง่ายๆ ที่ช่วยให้คุณหลีกเลี่ยงการเสียสำเนาสำรองหากบันทึกไว้บนเซิร์ฟเวอร์เอง

คุณสามารถใช้หลักการเดียวกันนี้ในการทำสำเนาสำรองได้

ไฟล์การกำหนดค่า
- โดยทั่วไปแล้ว เทคโนโลยีมืด);
เป็นการดีสำหรับเราที่จะรับรองความพร้อมใช้งานและความปลอดภัยของข้อมูลพิเศษในระดับสูง ทางเลือกที่ต่อต้านความขมขื่นของความเศร้าโศกเป็นทางเลือกที่ดีอาจจำเป็นต้องฝากข้อมูลสำรองของโครงการ (ไซต์) บน Yandex.Disk ด้วยเหตุผลหลายประการ เช่น เนื่องจากตำแหน่งที่ผิดพลาดบนเซิร์ฟเวอร์ (โฮสติ้ง, VDS, VPS) หรือความปลอดภัยที่เพิ่มขึ้นในการบันทึกข้อมูลสำรอง (ในกรณี ของเซิร์ฟเวอร์ที่ไม่มีการจู่โจมและใช้งานไม่ได้)
ฉันเขียนเพื่อตัวเองและเพิ่มสคริปต์ทุบตีขนาดเล็กเพื่อสำรองข้อมูลไปยัง Yandex.Disk สำหรับผู้อื่น
ฟังก์ชั่นสคริปต์:
- การสร้างการสำรองข้อมูลโครงการ (ไฟล์ + ฐานข้อมูล) บนเซิร์ฟเวอร์

ข้อมูลมายเอสคิวแอล

— การอนุญาตบน Yandex.Disk เป็นสิทธิประโยชน์เพิ่มเติม (สำหรับโทเค็น มากกว่า

วิธีที่ปลอดภัย


,ล็อกอินและรหัสผ่านของ Chim koristana);


- ส่งการสำรองข้อมูลจากเซิร์ฟเวอร์ไปยัง Yandex.Disk


4. ตอนนี้เราลบโทเค็นออกแล้ว (หากต้องการคุณสามารถอ่านรายงานเกี่ยวกับโทเค็นได้ในคู่มือ Yandex) ซึ่งคัดลอก ID แล้วแทรกไว้ที่ส่วนท้ายของ URL https://oauth.yandex.ru/ authorize?response_type=token&client_id= ติดตามที่อยู่ เรายืนยันว่าเราได้รับอนุญาตให้เพิ่ม:


ด้วยเหตุนี้ โทเค็นจะปรากฏบนหน้าที่ปรากฏขึ้นไม่น้อยกว่า 1 rik ดังนั้นหากสคริปต์สำรองหยุดทำงาน เราสามารถลบโทเค็นใหม่และวางลงในสคริปต์ได้

คุณสามารถประท้วงพลังของหุ่นยนต์ด้วย Yandex.Disk, vikoryst และการถอนโทเค็นได้ที่พื้นที่ทดสอบพิเศษ

และตอนนี้สคริปต์ทุบตีเองสำหรับการสำรองข้อมูลไปยัง Yandex.Disk: ตัวอย่างเช่น ฉันเมาที่ร้านกาแฟหรือ Vipadkovo และทำให้แล็ปท็อปของฉันเต็มไปด้วยกาแฟ " # ส่งเฉพาะบันทึก (จริง) ป้อนเท็จหากคุณต้องการส่งบันทึกทุกครั้งที่สร้างผลลัพธ์ของสคริปต์ # # # # # # # # # # # อย่าเปลี่ยนแปลงสิ่งใด! # # # # # # # # # # # # function mailing() ( ถ้า [ ! ] เช่น echo "$1" | grep -q "error" แล้วก็ echo "$2" | /dev/null fi fi ) function logger() ( echo "["`date "+ %Y -%m-%d %H:%M:%S"`"] ไฟล์ $BACKUP_DIR: $1" >> $BACKUP_DIR /$LOGFILE ) ฟังก์ชัน parseJson() ( local output regex="(\"$1\" :[ \"]?)([^\",\)]+)([\"]?)" [[ $2 = ~ $regex ]] && output=$(BASH_REMATCH) echo $output ) ฟังก์ชั่น checkError() ( echo $(parseJson "error" "$1") ) ฟังก์ชั่น getUploadUrl() ( json_out=`curl -s -H "การอนุญาต: OAuth $TOKEN" https://cloud-api.yandex.net:443/v1/disk /resources /upload/?path=app:/$backupName&overwrite=true` json _error=$(checkError "$json_out") ถ้า [[ $json_error != "" ]]; จากนั้นตัวบันทึก "$PROJECT - ข้อผิดพลาด Yandex.Disk: $json_error " การส่งจดหมาย "$PROJECT - ข้อผิดพลาดในการสำรองข้อมูล Yandex.Disk" "ข้อผิดพลาดในการคัดลอกไฟล์ $FILENAME. Yandex.Disk error: $json_error" echo "" else output=$(parseJson " href" $json_out) echo $output fi ) uploadFile ( local json_out local uploadUrl local json_error uploadUrl=$(getUploadUrl) ถ้า [[ $uploadUrl != "" ]]; จากนั้นสะท้อน $UploadUrl json_ -H "การอนุญาต: OAuth $TOKEN" $uploadUrl` json_error=$(checkError "$json_out") ถ้า [[ $json_error != "" ]]; จากนั้นตัวบันทึก "$PROJECT - ข้อผิดพลาด Yandex.Disk: $json_error" การส่งจดหมาย " $PROJECT - ข้อผิดพลาดในการสำรองข้อมูล Yandex.Disk" "ข้อผิดพลาดในการคัดลอกไฟล์ $FILENAME ข้อผิดพลาด Yandex.Disk: $json_error" else logger "$PROJECT - การคัดลอกไฟล์ไปยัง Yandex .Disk สำเร็จ" การส่งจดหมาย "$PROJECT - Yandex.Disk สำรองข้อมูลสำเร็จ" "คัดลอกไฟล์สำเร็จ $FILENAME" อย่างอื่นสะท้อน "เกิดความล้มเหลวเพียงครั้งเดียว: curl -s -H "การอนุญาต: OAuth $TOKEN" "https://cloud- api .yandex.net:443/v1/disk/resources?path=app:/&sort=created&limit=100" | tr "()," "\n" | grep "name[[:graph:]]*.tar gz" | cut -d: -f 2 | tr -d """ ) function backups_count() ( local bkps=$(backups_list | wc -l) # ถ้าเราสำรองทั้งไฟล์และฐานข้อมูลดังนั้นสำหรับการสำรองข้อมูล 1 ครั้งเรามี 2 ไฟล์ ดังนั้น จำนวนการสำรองข้อมูล = จำนวนไฟล์ / 2: expr $bkps / 2 ) ฟังก์ชัน Remove_old_backups() ( bkps=$(backups_count) old_bkps=$((bkps - MAX_BACKUPS)) ถ้า [ "$old_bkps" -gt " 0" ];จากนั้นบันทึก "การลบข้อมูลสำรองเก่า" # วงจรของการลบข้อมูลสำรองเก่า: # การลบไฟล์แรกในรายการ 2*old_bkps ครั้งสำหรับ i ใน `eval echo (1..$((old_bkps * 2)))` ; do curl -X DELETE -s -H " การอนุญาต: OAuth $TOKEN " " https://cloud-api.yandex.net:443/v1/disk/resources?path=app:/$(backups_list | awk " (NR == 1)")&ถาวร=true" เสร็จแล้ว fi ) logger "--- $PROJECT START BACKUP $DATE ---" logger "Vivanting data dumps" mkdir $BACKUP_DIR/$DATE for i in `mysql -h $MYSQL_SERVER - คุณ $MYSQL_USER -p$MYSQL_PASSWORD -e" แสดงฐานข้อมูล;" - grep -v information_schema | grep -v ฐานข้อมูล`; ดิสก์เก็บถาวร mysql $BACKUP_DIR/$DATE-mysql-$PROJECT.tar.gz" backupName=$DATE-mysql-$PROJECT.tar.gz uploadFile $BACKUP_DIR/$DATE-mysql-$PROJECT.tar.gz FILENAME=$DATE -files-$PROJECT.tar.gz logger "การเยี่ยมชมไฟล์เก็บถาวรบน Yandex.Disk พร้อมไฟล์ $BACKUP_DIR/$DATE-files-$PROJECT.tar.gz" backupName=$DATE-files-$PROJECT.tar gz uploadFile $BACKUP_DIR /$DATE-files-$PROJECT.tar.gz คนตัดไม้ "เรากำลังลบไฟล์เก็บถาวรออกจากดิสก์" find $BACKUP_DIR -type f -name "*.gz" -exec rm "()" \; # เรากำลังลบข้อมูลสำรองเก่าจาก Yandex.Disk ( ถ้า MAX_BACKUPS > 0) ถ้า [ $MAX_BACKUPS -gt 0 ]; จากนั้น Remove_old_backups; fi logger "กำลังดำเนินการสคริปต์สำรองข้อมูลให้เสร็จสิ้น"

#!/bin/bash # # สคริปต์สำรองข้อมูล Yandex.Disk v1.0 โดย Sergey Lukonin (neblog.info) # # # # # # # # # # # # # การตั้งค่าการสำรองข้อมูล MYSQL # # # # # # # # # # # # # # เซิร์ฟเวอร์ DB MYSQL_SERVER=mysql.some-server.ru # Koristuvach ซึ่งเราจะทำงานเพื่อสำรองฐานข้อมูลที่มีอยู่ รูท mysql จะทำให้ฐานข้อมูลทั้งหมดพร้อมใช้งาน จนถึง koristuvach ถัดไป ฐานข้อมูลสำหรับโครงการเฉพาะจะพร้อมใช้งาน MYSQL_USER =some-user # รหัสผ่าน ข้อมูลฐานข้อมูล koristuvach (รหัสผ่าน อย่าสับสนระหว่าง root ของเซิร์ฟเวอร์และ root ของ mysql) MYSQL_PASSWORD=some-password ########## ดิสก์สำรอง (0 - บันทึกการสำรองข้อมูลทั้งหมด): MAX_BACKUPS=" 14" # วันที่ที่แสดงในชื่อไฟล์เก็บถาวร DATE= `date "+%Y-%m-%d"` # ไดเรกทอรีสำหรับการเก็บถาวร (ระบุผ่านช่องว่าง) ซึ่งจะถูกวางไว้ในไฟล์เก็บถาวรเดียวและส่งไปยัง Yandex Disk DIRS="/home/www/projects/neblog" # Yandex .Disk token (ตามที่ระบุไว้ - div. บน neblog.info) ไดเร็กทอรีเวกเตอร์ที่แสดงอยู่ใน $BACKUP_DIR LOGFILE="backup.log" # อีเมลสำหรับการปรับปรุงผลลัพธ์ ของสคริปต์