ძირითადი შინაარსიდან გადასვლა

Backup to Yandex.Disk მეშვეობით davfs



სარეზერვო არის მნიშვნელოვანი ამოცანა, რომელიც უნდა შესრულდეს ნებისმიერ სერვერზე, სადაც მნიშვნელოვანი მონაცემები მდებარეობს. ეს შეიძლება მოგვარდეს სხვადასხვა მეთოდებით. დიდი სისტემებისათვის, ეს არის შესაბამისი პროგრამული უზრუნველყოფა, რომელსაც შეუძლია შექმნას სარეზერვო სერვერი შეყოვნების გარეშე.

პატარა სისტემებისთვის (ლაზერული სერვერია ათზე მეტი ადგილით), პრობლემის გადაჭრა მარტივ მეთოდების გამოყენებით და თვითმმართველობის წერილობითი სკრიპტების გამოყენებით, რომლებიც იდენტიფიცირებულ მონაცემებს ასრულებენ, მაგალითად, Yandex.Disk- ზე. უპირატესობა ის არის, რომ თქვენ არ უნდა ფულის დახარჯვა დამატებითი სერვერზე (ან სპეციალური შენახვის სარეზერვო, რომელიც ზოგიერთი hosters გთავაზობთ). და ათი გიგაბაიტი გამოყოფილი Yandex შეიძლება იყოს საკმარისი.



შეგიძლიათ დარეგისტრირდეთ ერთგულ ანგარიშში Yandex- ში, ან შეგიძლიათ გამოიყენოთ საფოსტო ყუთი თქვენს დომენზე, რომლიდანაც Mail- ის დომენზე.

სტატიის შინაარსი:

რა გჭირდებათ ასეთი სარეზერვო?

ყველა საჭიროა davfs2 პაკეტი, რომლის საშუალებითაც სისტემაში განთავსდება webdav სექცია.

  # aptitude install davfs2 

შექმნის davfs

მისი კონფიგურაციის ფაილი მდებარეობს / etc / davfs2 საქაღალდეში. Davfs.conf ფაილი შეიცავს ყველა შესაძლო პარამეტრს default values. ახლა ჩვენ ვერ დავუკავშირდებით.



მეორე ფაილი არის საინტერესო - საიდუმლოება, რომელიც შეიცავს logins, პაროლები, მარიონეტული და სერტიფიკატი პარამეტრები. უფრო კონკრეტულად, "საიდუმლო ხაზის" სექცია, სადაც თქვენ უნდა დარეგისტრირდეთ ჩანაწერი, როგორიცაა:

  / mnt / yadisk vashemail@yandex.ru vashparol 

პირველი არგუმენტი არის მთაზე წერტილი, მეორე არის თქვენი Yandex mail (შესვლა), მესამე არის პაროლი. ეს არის ყველაფერი, რაც საჭიროა დაზუსტება.

შექმნა მთათა წერტილი და შესვლის / etc / fstab

სექცია უნდა იყოს დამონტაჟებული სადღაც. როგორც ზემოთ მოყვანილ მაგალითში ჩანს, ეს არის / mnt / yadisk დირექტორია, რომელიც შეიძლება შეიცვალოს საკუთარი. შექმნათ მხოლოდ root access:


  # mkdir -m 0700 / mnt / yadisk 

შემდეგ ჩვენ დავწეროთ ფაილი / etc / fstab, წერა ხაზი:

  https://webdav.yandex.ru / mnt / yadisk davfs noauto, noexec, nosuid, file_mode = 0600, dir_mode = 0700 0 0 

აქ არის პირველი მისამართი, რომელიც დაკავშირებულია Yandex.Disk- ზე, მეორე არის მთათა წერტილი, მესამე არის ფაილის სისტემის ტიპი, მეოთხე ვარიანტია.

  • noauto - disable ფაილური სისტემა დამონტაჟება, როდესაც OS იწყება, ან ბრძანება mount- ში
  • noexec, nosuid - გამორთულია შესრულებადი ფაილების გაშვება და suid / sgid ბიტების ინსტალაცია ფაილებსა და საქაღალდეებზე.
  • file_mode / dir_mode - ადგენს ფაილების და დასტებისთვის ნებართვებს, მხოლოდ მფლობელს (root, თუ მომხმარებელი და ჯგუფი არ არის განსაზღვრული uid და gid პარამეტრებში

რატომ არ დააჩქარებს დანაყოფს ავტომატურად? საჭიროა მხოლოდ სარეზერვო დროს. და მას შემდეგ, რაც იქნება) გათიშეთ მოჩვენებითი, ბ) მოიხმარს მცირე რაოდენობის ტრაფიკს, სინქრონიზაციას შინაარსზე.

Fstab- ს შენახვის შემდეგ შეგიძლიათ შეამოწმოთ თუ არა დანაყოფი სწორად ბრძანება mount / mnt / yadisk- ით .

სარეზერვო სკრიპტი

სერვერზე რამდენიმე საიტი მაქვს. ძირითადად, შინაარსი იცვლება ხშირია და შეგიძლიათ გამოიყენოთ სრული ასლი მეთოდი.

ამ მიზნებისთვის დაწერილი პატარა მარტივი სკრიპტი დაწერეს.

  #! / bin / bash
 # ცვლადების ინიციალიზაცია
 BACKUPDIR = "/ var / tmp" # სარეზერვო სისტემის დირექტორია
 TMPDIR = "სარეზერვო" # დროებითი ფოლდერი ფაილების ასლებისთვის, რომელიც შემდეგ დაარქივდა
 YADISK = "/ mnt / yadisk" # მთა წერტილი
 SQLDIR = "sqldb" # საქაღალდე მონაცემთა ბაზებისთვის
 SQLUSER = "root"
 SQLPASS = "12345"
 TIMEY = $ (თარიღი +% F_% H% M% S) # დრო ერთი წუთით YEAR-MONTH- DAY_hour ფორმატში
 # ჩვენ შეამოწმეთ მონაცემთა ბაზების საქაღალდის ხელმისაწვდომობა, თუ ის არ არსებობს, ყველა საჭირო პირობა შეიქმნება.
 თუ [!  -d "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"];  მაშინ
 mkdir -p-m 0700 "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"
 fi
 # Connect Yandex.Disk
 მთა "YADISK"
 # შექმნა სარეზერვო
 # 1 მონაცემთა ბაზა
 cd "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"
 მონაცემთა ბაზაში მონაცემთა ბაზაში `mysql -s -r -e 'შოუ მონაცემთა ბაზები' |  grep -v მონაცემთა ბაზა |  grep -v info_schema |  grep -v performance_schema |  grep -v mysql`;
 გავაკეთოთ mysqldump "$ database"> "$ database" .sql; გაკეთდა
 # 2 ყველა მომხმარებელი
 cd /
 tar -cf "$ BACKUPDIR" / "$ TMPDIR" /home.tar სახლში
 # 3 სისტემის პარამეტრები
 tar -cf "$ backupdir" / "$ TMPDIR" /system.tar ა.შ. var / spool / cron / crontabs
 # ჩვენ პაკეტის არქივში
 cd "$ BackupDIR"
 tar-cjf სარეზერვო - "$ TIMEY" .tbz2 "$ TMPDIR"
 mv სარეზერვო - "$ TIMEY" .tbz2 "$ YADISK"
 # დროებითი ფაილების წაშლა
 rm -r "$ TMPDIR"
 # ძველი არქივების წაშლა
 იპოვეთ "$ YADISK" -type f -mtime +4 |  xargs rm -f
 # გამორთვა Yandex.Disk
 umount "$ YADISK"
 გასასვლელი 1 

იგი ორჯერ დღეში გვირგვინია. ქმნის მონაცემთა ბაზების ასლებს, გარკვეულ სისტემურ პარამეტრებს, აგრეთვე მომხმარებლის მონაცემებს (საიტებს). ნაწილობრივ, იგი შედგება სკრიპტისაგან, რომელიც მხოლოდ ადრე გამოქვეყნებული მონაცემთა ბაზის გადაწერაა .

ზოგჯერ შეცდომა შეიძლება აღმოჩნდეს syslog- ში:

  mount.davfs: ღია ფაილი აღემატება მაქსიმალურ ქეში ზომას 50 MiBytes 

ამ შემთხვევაში, ჩვენ მთა Yandex.Disk განყოფილება და ვნახოთ რა არის დაკარგული + ნაპოვნია საქაღალდეში. ჩვენ გაწმენდა. შემდეგ ჩვენ სუფთა შინაარსი / var / cache / davfs2 / საქაღალდეში.



როგორ შეაფასებ სტატიას?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (არა რეიტინგი)
იტვირთება ...

კომენტარის დამატება

თქვენი ელფოსტა არ გამოქვეყნდება.