لديك نسخة من Discourse تعتمد على Docker يتم بناؤها من قالب مقدم من DigitalOcean. عند تفعيل النسخ الاحتياطي الآلي لأول مرة، تم إنشاء ملف نسخة احتياطية في /var/discourse/shared/standalone/backups/default/... كما هو متوقع.
قررت حذف مجلد backups وإنشاء رابط رمزي backups يشير إلى حجم تخزين (volume). ومنذ ذلك الحين، فشل مهمة النسخ الاحتياطي (كما قمت بدخول الحاوية وإطلاق نسخة احتياطية يدوية، وظهرت نفس رسالة الخطأ).
إليك تتبع المكدس:
File exists @ dir_s_mkdir - /var/www/discourse/public/backups
/usr/local/lib/ruby/2.7.0/fileutils.rb:250:in `mkdir'
/usr/local/lib/ruby/2.7.0/fileutils.rb:250:in `fu_mkdir'
/usr/local/lib/ruby/2.7.0/fileutils.rb:228:in `block (2 levels) in mkdir_p'
/usr/local/lib/ruby/2.7.0/fileutils.rb:226:in `reverse_each'
/usr/local/lib/ruby/2.7.0/fileutils.rb:226:in `block in mkdir_p'
/usr/local/lib/ruby/2.7.0/fileutils.rb:211:in `each'
/usr/local/lib/ruby/2.7.0/fileutils.rb:211:in `mkdir_p'
/var/www/discourse/lib/backup_restore/local_backup_store.rb:10:in `base_directory'
...
**تعديل
دخلت الحاوية وقمت ببعض عمليات التصحيح. اتضح أن هناك رابطًا رمزيًا يشير إلى /var/www/discourse/public/backups → /shared/backups على المضيف، وهو أيضًا رابط رمزي في حالتي. توجد مشكلة في أذونات الملفات تمنع عملية Ruby من الكتابة إلى مجلد النسخ الاحتياطي على المضيف.
هل لديك أي نصائح؟