كيفية حذف سجل إصدارات ملفات ownCloud من سطر الأوامر
تتيح لك واجهة سطر الأوامر في ownCloud تحرير مساحة التخزين عن طريق حذف نسخ الملفات، ولكن الأمر المناسب يعتمد على المقصود بـ "الحذف". يمكنك السماح لـ ownCloud بحذف النسخ التي تخالف سياسة الاحتفاظ المحددة فقط، أو حذف جميع النسخ المحفوظة لحساب واحد أو أكثر، أو حذف جميع النسخ على مستوى النظام. تختلف هذه الخيارات اختلافًا كبيرًا من حيث إمكانية التراجع والنطاق. تأكد أولًا مما إذا كان خادمك هو ownCloud Server أو ownCloud Infinite Scale ؛ فهما يستخدمان أدوات سطر أوامر مختلفة.
تستند الأوامر أدناه إلى وثائق إدارة خادم ownCloud 10.16 و 11.0 الحالية ودليل Infinite Scale 8.2، والتي تم التحقق منها في 6 أكتوبر 2026. تختلف المسارات وأسماء الخدمات ومعرفات الحسابات حسب التثبيت، لذا قم بتكييف الأمثلة قبل تشغيلها على خادم الإنتاج.
اختر طريقة التنظيف التي تتناسب مع هدفك
طريقة
ما الذي يزيله
الأنسب
المقايضة الرئيسية
versions:expireعلى خادم ownCloud
الإصدارات التي تعتبر منتهية الصلاحية وفقًا لقاعدة الاحتفاظ المُكوّنة
الصيانة الدورية والتحكم في الحصص
فهو يحافظ على الإصدارات التي لا تزال مشمولة بالسياسة، لذلك قد لا يستعيد مساحة كبيرة على الفور مثل عملية الحذف الكاملة.
versions:cleanup USER_IDعلى خادم ownCloud
جميع النسخ المحفوظة للحساب أو الحسابات المحددة
حذف سجل التصفح لحساب معين
يفقد هذا المستخدم القدرة على استعادة الإصدارات السابقة، بما في ذلك الإصدارات المنشورة.
versions:cleanupبدون معرفات مستخدم
جميع النسخ المحفوظة لجميع مستخدمي خادم ownCloud
إعادة ضبط مخططة على مستوى المؤسسة
إنها عملية تدميرية واسعة النطاق، والأمر الموثق لا يحتوي على خيار معاينة.
ocis revisions purgeعلى نطاق لا نهائي
يتم إجراء المراجعات في جميع المساحات افتراضيًا، أو في نطاق موارد أضيق عند تحديده.
عمليات نشر على نطاق لا نهائي تحتاج إلى تنظيف المراجعات
يختلف سلوك التشغيل التجريبي وخيارات مسار التخزين الخاصة به عن occأوامر خادم ownCloud.
لإدارة التخزين المتكرر، ابدأ بسياسة الاحتفاظ versions:expire. استخدم هذه الخاصية versions:cleanupفقط عندما تريد حذف السجل المحدد الآن عن قصد.
1. تأكد من منتج ownCloud الخاص بك وموقع الأوامر
بالنسبة لخادم ownCloud، اتصل بالمضيف أو الحاوية التي تشغل تطبيق PHP، ثم انتقل إلى دليل تثبيت ownCloud حيث occيوجد البرنامج النصي. من الأنماط الشائعة في لينكس تشغيل الأوامر باستخدام حساب خادم الويب، غالبًا باستخدام الأمر `---` www-dataأو ` wwwrun---`.
cd /var/www/owncloud sudo -u www-data php occ status
استخدم مسار التثبيت الفعلي وحساب خادم الويب الخاص بنظامك. occقد يؤدي التشغيل بصلاحيات المستخدم الجذر إلى ترك الملفات مملوكة لحساب خاطئ، لذا استخدم حساب الخدمة الموثق. تأكد من files_versionsتفعيل تطبيق الإصدارات؛ حيث تكون أوامر الإصدار غير متاحة عند تعطيل هذا التطبيق، كما أنها غير متاحة في وضع الصيانة للمستخدم الواحد.
يقوم الأمر occ statusبفحص تثبيت خادم ownCloud قبل تنظيف الإصدار.
إذا كان خادم ownCloud يعمل في Docker، فنفّذ الأمر داخل حاوية التطبيق. على سبيل المثال، من الدليل الذي يحتوي على إعدادات Compose، قد يستخدم النشر الأمر التالي docker compose exec owncloud occ status؛ استبدل owncloudباسم الخدمة الفعلي في ملف Compose. لا تستخدم الأمثلة occالخاصة بـ Infinite Scale.
2. تحديد ما إذا كان سيتم فرض الاحتفاظ بالسجل أو مسحه
استخدم خاصية انتهاء الصلاحية عندما تريد إجراء عملية تنظيف قائمة على السياسات.
versions:expireيُقيّم الإصدار بناءً على versions_retention_obligationالإعدادات في ملف config.php. في حال عدم تحديد مُعرّف مستخدم، ينطبق الأمر على جميع المستخدمين؛ كما يمكنك إدراج مُعرّف مستخدم واحد أو أكثر. بالنسبة لحساب واحد، يكون الأمر كالتالي:
sudo -u www-data php occ versions:expire alice
استبدل مُعرّف الحساب الحقيقي، وليس اسم العرض أو عنوان البريد الإلكتروني للشخص إلا إذا كان هذا هو تعريف الحساب في نظامك. لتطبيق عملية انتهاء الصلاحية على جميع الحسابات، احذف هذه النقطة alice. هذا الخيار يحترم قاعدة الاحتفاظ المُكوّنة: لن يؤدي بالضرورة إلى حذف الإصدارات الحديثة أو المحفوظة.
يطبق الأمر versions:expireسياسة الاحتفاظ المُكوّنة على حساب واحد مُسمى.
توضح وثائق خادم ownCloud autoنمط الاحتفاظ الافتراضي، كما توثق البدائل القائمة على الوقت. راجع سياستك قبل بدء عملية انتهاء الصلاحية، خاصةً إذا كانت مؤسستك لديها متطلبات قانونية أو تشغيلية للاحتفاظ بالبيانات. بالنسبة لانتهاء الصلاحية الدوري العادي، يُشغّل ownCloud هذه العملية كمهمة في الخلفية. يوصي دليل الإدارة باستخدام cron النظامي للمهام الخلفية؛ يُعدّ استدعاء انتهاء الصلاحية يدويًا مفيدًا لتشغيل الصيانة المُخطط لها، ولكن لا ينبغي أن يكون بديلاً مرتجلاً عن مُجدول مُهيأ بشكل صحيح.
استخدم أداة التنظيف عندما تنوي حذف كل إصدار ضمن النطاق
لحساب واحد، قم بتشغيل ما يلي:
sudo -u www-data php occ versions:cleanup alice
بالنسبة للحسابات المتعددة، يرجى تقديم معرفاتها مفصولة بمسافات:
sudo -u www-data php occ versions:cleanup alice bob
في حالة عدم وجود معرّفات، يقوم الأمر بإزالة جميع الملفات ذات الإصدارات لجميع المستخدمين:
sudo -u www-data php occ versions:cleanup
يؤدي تمرير معرف الحساب إلى تحديد نطاق تنظيف السجل الكامل لهذا المستخدم.
قم بعمل نسخة احتياطية أولاً إذا كنت قد تحتاج إلى النسخ لاستعادة البيانات، وتأكد من صحة معرّفات الحسابات قبل التنفيذ. يحذف الأمر الموثق بيانات الإصدار والمجلد المرتبط files_versionsبها ضمن نطاقه. كما يزيل الإصدارات المنشورة التي قد تبقى بعد انتهاء فترة الاحتفاظ المعتادة. لا توجد علامة "معاينة فقط" مدعومة وموثقة لخادم ownCloud versions:cleanup، لذا قد يكون لأي خطأ إملائي أو معرّف مفقود تأثير أكبر من المتوقع.
3. فهم الفرق بين خادم ownCloud و Infinite Scale
لا يستخدم نظام ownCloud Infinite Scale (oCIS) occ versions:cleanupأمر PHP. تشرح وثائق إدارته عملية تنظيف المراجعات باستخدام الأمر ` ocis revisions purge. يُفعّل الأمر افتراضيًا في وضع التجربة، حيث يُبلغ عما سيتم حذفه دون حذف المراجعات. مسار تخزين المستخدم المُكوّن مطلوب؛ يستخدم هذا المثال مسارًا افتراضيًا.
ocis revisions purge -p /base/path/storage/users
افحص نتائج التشغيل التجريبي وتأكد من صحة مسار التخزين. لإزالة التعديلات التي أظهرها هذا التشغيل فعليًا، عطّل التشغيل التجريبي صراحةً.
بشكل افتراضي، يستهدف أمر "النطاق اللانهائي" المراجعات في جميع المساحات. --resource-idويمكن لخياره تضييق نطاق العملية إلى مساحة أو ملف محدد عند توفر المعرّف الصحيح. إذا كان المسار أو النطاق غير مؤكد، فتوقف عند التجربة الأولية وتأكد من كليهما من خلال إعدادات النشر. تشير الوثائق إلى أن أوضاع البحث البديلة قد تزيد من استهلاك وحدة المعالجة المركزية والذاكرة في المساحات الكبيرة؛ لذا احتفظ بالإعدادات الافتراضية ما لم تكن هناك حاجة لتغييرها.
بدون معرف المستخدم، versions:cleanupيستهدف كل مستخدم لخادم ownCloud.
4. تحقق من النتيجة دون حذف المزيد من البيانات
بعد تنظيف الخادم، افحص بعض الحسابات التمثيلية في واجهة الويب وتأكد من عدم ظهور الإدخالات القديمة في سجل إصدارات كل ملف. راجع مخرجات الأمر للمستخدمين الذين تمت معالجتهم. بالنسبة لـ Infinite Scale، قارن نتائج الحذف بمخرجات التشغيل التجريبي وراجع حالة اكتمال الأمر. ثم تحقق من استخدام التخزين على الطبقة المهمة لنشرك: تقارير حصص ownCloud، أو نظام الملفات المحلي، أو مخزن الكائنات المُكوّن.
لا تقم بإزالة الملفات يدويًا لإنهاء files_versionsعملية التنظيف. تُنسق أوامر ownCloud المدعومة عملية تنظيف الإصدارات مع بيانات تعريف التطبيق؛ إذ قد يؤدي حذف عناصر التخزين المرتبطة بالتطبيق إلى ترك سجلات غير متناسقة. كذلك، قد يختلف استعادة مساحة القرص على الخادم عن عدد الإصدارات التي تمت إزالتها إذا كان نظام التخزين الخلفي لديك يحتوي على لقطات أو نسخ متماثلة أو آلية حذف مؤجل خاصة به. يعتمد هذا الأمر على نظام التخزين الخلفي، ويجب التحقق منه مع مسؤول النظام أو مزود الخدمة.
أي خيار يجب عليك استخدامه؟
اخترversions:expire عندما يكون هدفك هو إدارة الحصص بشكل مستمر مع قواعد الاحتفاظ الحالية.
اختر النطاق المحددversions:cleanup USER_ID عندما تحتاج إلى إزالة جميع سجلات الحسابات المعروفة وقبلت فقدان نقاط الاستعادة.
اختر "عامversions:cleanup فقط" لإعادة ضبط النظام بالكامل بشكل مقصود بعد النسخ الاحتياطي ومراجعة النطاق.
اختر سير عمل التطهير ذو النطاق اللانهائي فقط على oCIS، وقم بمراجعة التشغيل التجريبي الافتراضي قبل التعيين --dry-run=false.
ملاحظة الإصدار: تم التحقق من سلوك الأوامر والأمثلة مقابل وثائق ownCloud Server 10.16/11.0 و Infinite Scale 8.2 في 6 أكتوبر 2026. تحقق من الدليل المطابق للإصدار المثبت لديك قبل تنفيذ عملية تدميرية.