प्रशासन
बैकअप एकत्र करें - /api/backups/collect
-
एंडपॉइंट:
/api/backups/collect -
मेथड: POST
-
विवरण: अपने API के माध्यम से सीधे Duplicati सर्वर से बैकअप डेटा एकत्र करता है। यह एंडपॉइंट स्वचालित रूप से सर्वोत्तम कनेक्शन प्रोटोकॉल (SSL सत्यापन के साथ HTTPS, स्व-हस्ताक्षरित प्रमाणपत्रों के साथ HTTPS, या फ़ॉलबैक के रूप में HTTP) का पता लगाता है और बैकअप जानकारी प्राप्त करने और इसे स्थानीय डेटाबेस में प्रोसेस करने के लिए Duplicati सर्वर से कनेक्ट होता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"hostname": "duplicati-server.local","port": 8200,"password": "your-password","downloadJson": false} -
प्रतिक्रिया:
{"success": true,"serverName": "Server Name","serverAlias": "My Server","stats": {"processed": 5,"skipped": 2,"errors": 0},"backupSettings": {"added": 2,"total": 7}} -
त्रुटि प्रतिक्रियाएं:
400: अमान्य अनुरोध पैरामीटर या कनेक्शन विफल500: बैकअप संग्रह के दौरान सर्वर त्रुटि
-
नोट्स:
- एंडपॉइंट स्वचालित रूप से इष्टतम कनेक्शन प्रोटोकॉल (HTTPS → स्व-हस्ताक्षरित के साथ HTTPS → HTTP) का पता लगाता है
- प्रोटोकॉल का पता लगाने के प्रयास सुरक्षा प्राथमिकता के क्रम में किए जाते हैं
- कनेक्शन टाइमआउट पर्यावरण चर के माध्यम से कॉन्फ़िगर करने योग्य हैं
- डीबगिंग के लिए विकास मोड में एकत्रित डेटा लॉग करता है
- सुनिश्चित करता है कि सभी सर्वर और सभी बैकअप के लिए बैकअप सेटिंग्स पूर्ण हैं
- निर्दिष्ट न होने पर डिफ़ॉल्ट पोर्ट 8200 का उपयोग करता है
- पता लगाया गया प्रोटोकॉल और सर्वर URL स्वचालित रूप से डेटाबेस में संग्रहीत किए जाते हैं
serverAliasडेटाबेस से प्राप्त किया जाता है और यदि कोई उपनाम सेट नहीं है तो खाली हो सकता है- फ्रंटएंड को प्रदर्शन उद्देश्यों के लिए
serverAlias || serverNameका उपयोग करना चाहिए - JSON डाउनलोड और प्रत्यक्ष API संग्रह दोनों विधियों का समर्थन करता है
बैकअप क्लीनअप - /api/backups/cleanup
-
एंडपॉइंट:
/api/backups/cleanup -
मेथड: POST
-
विवरण: प्रतिधारण अवधि के आधार पर पुराने बैकअप डेटा को हटाता है। यह एंडपॉइंट हालिया और महत्वपूर्ण डेटा को सुरक्षित रखते हुए पुराने बैकअप रिकॉर्ड को हटाकर डेटाबेस के आकार को प्रबंधित करने में मदद करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"retentionPeriod": "6 months"} -
प्रतिधारण अवधियां:
"6 months","1 year","2 years","Delete all data" -
प्रतिक्रिया:
{"message": "Successfully deleted 15 old backups","status": 200}
"सारा डेटा हटाएं" विकल्प के लिए:
{
"message": "Successfully deleted all 15 backups and 3 servers, and cleared configuration settings",
"status": 200
}
- त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन400: अमान्य प्रतिधारण अवधि निर्दिष्ट500: विस्तृत त्रुटि जानकारी के साथ क्लीनअप ऑपरेशन के दौरान सर्वर त्रुटि
- नोट्स:
- क्लीनअप ऑपरेशन अपरिवर्तनीय है
- बैकअप डेटा को डेटाबेस से स्थायी रूप से हटा दिया जाता है
- यदि सभी बैकअप हटा दिए जाते हैं तब भी मशीन रिकॉर्ड सुरक्षित रखे जाते हैं
- जब "सारा डेटा हटाएं" चुना जाता है, तो सभी मशीनें और बैकअप हटा दिए जाते हैं और कॉन्फ़िगरेशन साफ़ कर दिया जाता है
- बेहतर त्रुटि रिपोर्टिंग में विकास मोड में विवरण और स्टैक ट्रेस शामिल होते हैं
- समय-आधारित प्रतिधारण और पूर्ण डेटा हटाने दोनों का समर्थन करता है
बैकअप जॉब हटाएं - /api/backups/delete-job
-
एंडपॉइंट:
/api/backups/delete-job -
मेथड: DELETE
-
विवरण: एक विशिष्ट सर्वर-बैकअप संयोजन के लिए सभी बैकअप रिकॉर्ड हटाता है। यह एंडपॉइंट केवल विकास मोड में उपलब्ध है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"serverId": "server-id","backupName": "Backup Name"} -
प्रतिक्रिया:
{"message": "Successfully deleted 5 backup record(s) for \"Files\" from server \"My Server\"","status": 200,"deletedCount": 5,"serverName": "My Server","backupName": "Files"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: बैकअप जॉब हटाना केवल विकास मोड में उपलब्ध है400: सर्वर आईडी और बैकअप नाम आवश्यक हैं404: हटाने के लिए कोई बैकअप नहीं मिला500: विस्तृत त्रुटि जानकारी के साथ हटाने के दौरान सर्वर त्रुटि
-
नोट्स:
- यह ऑपरेशन केवल विकास मोड में उपलब्ध है
- यह ऑपरेशन अपरिवर्तनीय है
- निर्दिष्ट सर्वर-बैकअप संयोजन के लिए सभी बैकअप रिकॉर्ड स्थायी रूप से हटा दिए जाएंगे
- हटाए गए बैकअप की संख्या और सर्वर जानकारी लौटाता है
- यदि उपलब्ध हो तो प्रदर्शन के लिए सर्वर उपनाम का उपयोग करता है, अन्यथा सर्वर नाम पर फ़ॉलबैक करता है
बैकअप शेड्यूल सिंक करें - /api/backups/sync-schedule
-
एंडपॉइंट:
/api/backups/sync-schedule -
मेथड: POST
-
विवरण: Duplicati सर्वर से बैकअप शेड्यूल जानकारी को सिंक्रनाइज़ करता है। यह एंडपॉइंट सर्वर से कनेक्ट होता है, सभी बैकअप के लिए शेड्यूल जानकारी प्राप्त करता है, और दोहराव अंतराल, अनुमत सप्ताह के दिन और शेड्यूल समय सहित शेड्यूल विवरण के साथ स्थानीय बैकअप सेटिंग्स को अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"hostname": "duplicati-server.local","port": 8200,"password": "your-password","serverId": "optional-server-id"}
या केवल serverId के साथ (संग्रहीत पासवर्ड का उपयोग करता है):
{
"serverId": "server-id"
}
या serverId और अपडेट किए गए क्रेडेंशियल्स के साथ:
{
"serverId": "server-id",
"hostname": "new-hostname.local",
"port": 8200,
"password": "new-password"
}
-
प्रतिक्रिया:
{"success": true,"serverName": "Server Name","stats": {"processed": 5,"errors": 0}}
त्रुटियों के साथ:
{
"success": true,
"serverName": "Server Name",
"stats": {
"processed": 3,
"errors": 2
},
"errors": [
"Backup Name 1: Error message",
"Backup Name 2: Error message"
]
}
- त्रुटि प्रतिक्रियाएँ:
400: अमान्य अनुरोध पैरामीटर, serverId प्रदान न किए जाने पर होस्टनाम/पासवर्ड गायब, या कनेक्शन विफल404: सर्वर नहीं मिला (जब serverId प्रदान किया गया हो) या सर्वर के लिए कोई पासवर्ड संग्रहीत नहीं है500: शेड्यूल सिंक्रनाइज़ेशन के दौरान सर्वर त्रुटि
- नोट्स:
- एंडपॉइंट स्वचालित रूप से इष्टतम कनेक्शन प्रोटोकॉल का पता लगाता है (HTTPS → स्व-हस्ताक्षरित के साथ HTTPS → HTTP)
- संग्रहीत सर्वर क्रेडेंशियल्स का उपयोग करने के लिए केवल serverId के साथ कॉल किया जा सकता है
- सर्वर कनेक्शन विवरण अपडेट करने के लिए serverId और नए क्रेडेंशियल्स के साथ कॉल किया जा सकता है
- नए सर्वर्स के लिए serverId के बिना होस्टनाम/पोर्ट/पासवर्ड के साथ कॉल किया जा सकता है
- शेड्यूल जानकारी के साथ बैकअप सेटिंग्स को अपडेट करता है, जिसमें शामिल हैं:
expectedInterval: दोहराव अंतराल (उदा., "दैनिक", "साप्ताहिक", "मासिक")allowedWeekDays: अनुमत सप्ताह के दिनों की सरणी (0=रविवार, 1=सोमवार, आदि)time: बैकअप के लिए निर्धारित समय
- सर्वर पर मिले सभी बैकअप को प्रोसेस करता है
- प्रोसेस किए गए बैकअप और आई किसी भी त्रुटियों के आँकड़े लौटाता है
- सफल और विफल सिंक संचालन के लिए ऑडिट घटनाओं को लॉग करता है
- निर्दिष्ट न होने पर डिफ़ॉल्ट पोर्ट 8200 का उपयोग करता है
सर्वर कनेक्शन जाँचें - /api/servers/test-connection
-
एंडपॉइंट:
/api/servers/test-connection -
मेथड: POST
-
विवरण: यह सत्यापित करने के लिए duplicati सर्वर से कनेक्शन की जाँच करता है कि यह सुलभ है।
-
अनुरोध बॉडी:
{"server_url": "http://localhost:8200"} -
प्रतिक्रिया:
{"success": true,"message": "Connection successful"} -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य URL प्रारूप या सर्वर URL गायब500: कनेक्शन जाँच के दौरान सर्वर त्रुटि
-
नोट्स:
- एंडपॉइंट URL प्रारूप को मान्य करता है और कनेक्टिविटी की जाँच करता है
- यदि सर्वर 401 स्थिति के साथ प्रतिक्रिया देता है तो सफलता लौटाता है (क्रेडेंशियल्स के बिना लॉगिन एंडपॉइंट के लिए अपेक्षित)
- duplicati सर्वर के लॉगिन एंडपॉइंट से कनेक्शन की जाँच करता है
- HTTP और HTTPS दोनों प्रोटोकॉल का समर्थन करता है
- कनेक्शन जाँच के लिए टाइमआउट कॉन्फ़िगरेशन का उपयोग करता है
सर्वर URL प्राप्त करें - /api/servers/:serverId/server-url
-
एंडपॉइंट:
/api/servers/:serverId/server-url -
मेथड: GET
-
विवरण: एक विशिष्ट सर्वर के लिए सर्वर URL पुनर्प्राप्त करता है।
-
पैरामीटर:
serverId: सर्वर पहचानकर्ता
-
प्रतिक्रिया:
{"serverId": "server-id","server_url": "http://localhost:8200"} -
त्रुटि प्रतिक्रियाएँ:
404: सर्वर नहीं मिला500: सर्वर त्रुटि
-
नोट्स:
- विशिष्ट सर्वर के लिए सर्वर URL लौटाता है
- सर्वर कनेक्शन प्रबंधन के लिए उपयोग किया जाता है
- यदि कोई सर्वर URL सेट नहीं है तो खाली स्ट्रिंग लौटाता है
सर्वर URL अपडेट करें - /api/servers/:serverId/server-url
-
एंडपॉइंट:
/api/servers/:serverId/server-url -
मेथड: PATCH
-
विवरण: एक विशिष्ट सर्वर के लिए सर्वर URL अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और CSRF टोकन की आवश्यकता है
-
पैरामीटर:
serverId: सर्वर पहचानकर्ता
-
अनुरोध बॉडी:
{"server_url": "http://localhost:8200"} -
प्रतिक्रिया:
{"message": "Server URL updated successfully","serverId": "server-id","serverName": "Server Name","server_url": "http://localhost:8200"} -
त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन400: अमान्य URL प्रारूप404: सर्वर नहीं मिला500: अपडेट के दौरान सर्वर त्रुटि
-
नोट्स:
- एंडपॉइंट अपडेट करने से पहले URL प्रारूप को मान्य करता है
- खाली या null सर्वर URL की अनुमति है
- HTTP और HTTPS दोनों प्रोटोकॉल का समर्थन करता है
- अपडेट की गई सर्वर जानकारी लौटाता है
सर्वर पासवर्ड प्राप्त करें - /api/servers/:serverId/password
-
एंडपॉइंट:
/api/servers/:serverId/password -
मेथड: GET
-
विवरण: सर्वर पासवर्ड संचालन के लिए एक CSRF टोकन पुनर्प्राप्त करता है।
-
प्रमाणीकरण: मान्य सत्र की आवश्यकता है
-
पैरामीटर:
serverId: सर्वर पहचानकर्ता
-
प्रतिक्रिया:
{"csrfToken": "csrf-token-string","serverId": "server-id"} -
त्रुटि प्रतिक्रियाएँ:
401: अमान्य या समाप्त सत्र500: CSRF टोकन उत्पन्न करने में विफल
-
नोट:
- पासवर्ड अपडेट ऑपरेशन के साथ उपयोग के लिए CSRF टोकन लौटाता है
- टोकन उत्पन्न करने के लिए सत्र मान्य होना चाहिए
सर्वर पासवर्ड अपडेट करें - /api/servers/:serverId/password
-
एंडपॉइंट:
/api/servers/:serverId/password -
मेथड: PATCH
-
विवरण: एक विशिष्ट सर्वर के लिए पासवर्ड अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और CSRF टोकन की आवश्यकता है
-
पैरामीटर:
serverId: सर्वर पहचानकर्ता
-
अनुरोध बॉडी:
{"password": "new-password"} -
प्रतिक्रिया:
{"message": "Password updated successfully","serverId": "server-id"} -
त्रुटि प्रतिक्रियाएँ:
400: पासवर्ड एक स्ट्रिंग होना चाहिए401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: पासवर्ड अपडेट करने में विफल
-
नोट्स:
- पासवर्ड को साफ़ करने के लिए पासवर्ड एक खाली स्ट्रिंग हो सकता है
- पासवर्ड को सीक्रेट्स प्रबंधन सिस्टम का उपयोग करके सुरक्षित रूप से संग्रहीत किया जाता है
उपयोगकर्ता प्रबंधन
उपयोगकर्ता सूची - /api/users
-
एंडपॉइंट:
/api/users -
मेथड: GET
-
विवरण: पेजिनेशन और वैकल्पिक खोज फ़िल्टरिंग के साथ सभी उपयोगकर्ताओं को सूचीबद्ध करता है। लॉगिन इतिहास और खाता स्थिति सहित उपयोगकर्ता जानकारी लौटाता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकारों, मान्य सत्र और CSRF टोकन की आवश्यकता है
-
क्वेरी पैरामीटर:
page(वैकल्पिक): पृष्ठ संख्या (डिफ़ॉल्ट: 1)limit(वैकल्पिक): प्रति पृष्ठ आइटम (डिफ़ॉल्ट: 50)search(वैकल्पिक): उपयोगकर्ता नाम से फ़िल्टर करने के लिए खोज शब्द
-
प्रतिक्रिया:
{"users": [{"id": "user-id","username": "admin","isAdmin": true,"accessAllServers": true,"serverIds": [],"mustChangePassword": false,"createdAt": "2024-01-01T00:00:00Z","lastLoginAt": "2024-01-15T10:30:00Z","lastLoginIp": "192.168.1.100","failedLoginAttempts": 0,"lockedUntil": null,"isLocked": false}],"pagination": {"page": 1,"limit": 50,"total": 5,"totalPages": 1}} -
त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- पृष्ठांकन और खोज फ़िल्टरिंग का समर्थन करता है
- लॉक स्थिति सहित उपयोगकर्ता खाता स्थिति लौटाता है
उपयोगकर्ता बनाएं - /api/users
-
एंडपॉइंट:
/api/users -
विधि: POST
-
विवरण: एक नया उपयोगकर्ता खाता बनाता है। एक अस्थायी पासवर्ड उत्पन्न कर सकता है या प्रदान किए गए पासवर्ड का उपयोग कर सकता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
-
अनुरोध बॉडी:
{"username": "newuser","password": "optional-password","isAdmin": false,"requirePasswordChange": true,"accessAllServers": false,"serverIds": ["server-id"]} -
username: आवश्यक, 3-50 वर्णों का होना चाहिए, अद्वितीयpassword: वैकल्पिक, यदि प्रदान नहीं किया गया तो एक सुरक्षित अस्थायी पासवर्ड जनरेट किया जाता हैisAdmin: वैकल्पिक, डिफ़ॉल्ट false. एडमिन उपयोगकर्ता हमेशा सभी सर्वर प्राप्त करते हैंrequirePasswordChange: वैकल्पिक, डिफ़ॉल्ट trueaccessAllServers: वैकल्पिक, डिफ़ॉल्ट true. false होने पर,serverIdsसर्वर का एकमात्र ऐसा सेट है जिसे उपयोगकर्ता देख सकता हैserverIds: मौजूदा सर्वर आईडी की वैकल्पिक सरणी. अज्ञात आईडी अस्वीकार कर दी जाती हैं. जब उपयोगकर्ता एडमिन हो याaccessAllServersfalse न हो, तो इसे अनदेखा किया जाता है
-
प्रतिक्रिया:
{"user": {"id": "user-id","username": "newuser","isAdmin": false,"mustChangePassword": true,"accessAllServers": true,"serverIds": []},"temporaryPassword": "generated-password-123"} -
temporaryPasswordकेवल तभी शामिल किया जाता है जब पासवर्ड स्वतः उत्पन्न हुआ हो -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य उपयोगकर्ता नाम प्रारूप, पासवर्ड नीति उल्लंघन, या सत्यापन त्रुटियाँ401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक409: उपयोगकर्ता नाम पहले से मौजूद है500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- उपयोगकर्ता नाम केस-असंवेदनशील है और लोअरकेस में संग्रहीत किया जाता है
- यदि पासवर्ड प्रदान नहीं किया जाता है, तो एक सुरक्षित 12-वर्ण का पासवर्ड उत्पन्न किया जाता है
- उत्पन्न अस्थायी पासवर्ड केवल एक बार प्रतिक्रिया में लौटाए जाते हैं
- उपयोगकर्ता निर्माण ऑडिट लॉग में दर्ज किया जाता है
उपयोगकर्ता अपडेट करें - /api/users/:id
-
एंडपॉइंट:
/api/users/:id -
विधि: PATCH
-
विवरण: उपयोगकर्ता नाम, एडमिन स्थिति, पासवर्ड बदलने की आवश्यकता और पासवर्ड रीसेट सहित उपयोगकर्ता जानकारी अपडेट करता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकारों, मान्य सत्र और CSRF टोकन की आवश्यकता है
-
पैरामीटर:
id: अपडेट करने के लिए उपयोगकर्ता आईडी
-
अनुरोध बॉडी:
{"username": "updated-username","isAdmin": true,"requirePasswordChange": false,"resetPassword": true,"password": "optional-custom-password","accessAllServers": false,"serverIds": ["server-id"]} -
सभी फ़ील्ड वैकल्पिक हैं
accessAllServersऔरserverIds: बनाने वाले समान नियम. उपयोगकर्ता को एडमिन के रूप में प्रमोट करने पर सभी सर्वर तक पहुँच स्टोर हो जाती है. एडमिन को डिमोट करने पर सभी सर्वर से फिर से शुरुआत होती है, जब तक कि उसी अनुरोध में कस्टम सूची न भेजी गई होresetPassword: true होने पर, एक नया पासवर्ड सेट करता है.password, प्रदान किए जाने पर, पॉलिसी जाँच के बाद उपयोग किया जाता है. जबpasswordछोड़ दिया जाता है, तो एक अस्थायी पासवर्ड जनरेट किया जाता हैrequirePasswordChange:resetPasswordके साथ, डिफ़ॉल्ट रूप से true. must-change-password फ्लैग को साफ़ करें, इसके लिएfalseभेजें
-
प्रतिक्रिया (पासवर्ड रीसेट करें):
{"user": {"id": "user-id","username": "updated-username","isAdmin": true,"mustChangePassword": true,"accessAllServers": true,"serverIds": []},"temporaryPassword": "new-temp-password-456"} -
प्रतिक्रिया (पासवर्ड रीसेट के बिना):
{"user": {"id": "user-id","username": "updated-username","isAdmin": true,"mustChangePassword": false,"accessAllServers": true,"serverIds": []}} -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य इनपुट या सत्यापन त्रुटियाँ401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक404: उपयोगकर्ता नहीं मिला409: उपयोगकर्ता नाम पहले से मौजूद है (यदि उपयोगकर्ता नाम बदल रहे हैं)500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ता के लिए सुलभ
- उपयोगकर्ता नाम परिवर्तनों को विशिष्टता के लिए सत्यापित किया जाता है
- छोड़े गए पासवर्ड रीसेट करें से एक सुरक्षित 12-अक्षरों वाला अस्थायी पासवर्ड जनरेट होता है, जो एक बार लौटाया जाता है
- प्रदान किए गए पासवर्ड रीसेट करें को पासवर्ड नीति को पूरा करना होगा और इसे लौटाया नहीं जाता है
- सभी परिवर्तन ऑडिट लॉग में लॉग किए जाते हैं
उपयोगकर्ता हटाएं - /api/users/:id
-
एंडपॉइंट:
/api/users/:id -
विधि: DELETE
-
विवरण: एक उपयोगकर्ता खाता हटाता है। स्वयं को या अंतिम एडमिन खाते को हटाने से रोकता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकारों, मान्य सत्र और CSRF टोकन की आवश्यकता है
-
पैरामीटर:
id: हटाने के लिए उपयोगकर्ता आईडी
-
प्रतिक्रिया:
{"success": true,"message": "User deleted successfully"} -
त्रुटि प्रतिक्रियाएँ:
400: अपना स्वयं का खाता या अंतिम एडमिन खाता नहीं हटा सकते401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक404: उपयोगकर्ता नहीं मिला500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- अपना स्वयं का खाता नहीं हटा सकते
- अंतिम एडमिन खाता नहीं हटा सकते (कम से कम एक एडमिन बना रहना चाहिए)
- उपयोगकर्ता विलोपन ऑडिट लॉग में दर्ज किया जाता है
- संबद्ध सत्र स्वचालित रूप से हटा दिए जाते हैं (कैस्केड)
ऑडिट लॉग प्रबंधन
ऑडिट लॉग सूचीबद्ध करें - /api/audit-log
-
एंडपॉइंट:
/api/audit-log -
विधि: GET
-
विवरण: फ़िल्टरिंग, पृष्ठांकन और खोज क्षमताओं के साथ ऑडिट लॉग प्रविष्टियाँ प्राप्त करता है। पृष्ठ-आधारित और ऑफ़सेट-आधारित दोनों पृष्ठांकन का समर्थन करता है।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन आवश्यक (लॉग-इन उपयोगकर्ता आवश्यक)
-
क्वेरी पैरामीटर:
page(वैकल्पिक): पेज-आधारित पेजिनेशन के लिए पृष्ठ संख्याoffset(वैकल्पिक): ऑफ़सेट-आधारित पेजिनेशन के लिए ऑफ़सेट (पेज से पहले प्राथमिकता लेता है)limit(वैकल्पिक): प्रति पृष्ठ आइटम (डिफ़ॉल्ट: 50)startDate(वैकल्पिक): इस तिथि से लॉग फ़िल्टर करें (ISO प्रारूप)endDate(वैकल्पिक): इस तिथि तक लॉग फ़िल्टर करें (ISO प्रारूप)userId(वैकल्पिक): उपयोगकर्ता आईडी से फ़िल्टर करेंusername(वैकल्पिक): उपयोगकर्ता नाम से फ़िल्टर करेंaction(वैकल्पिक): कार्रवाई नाम से फ़िल्टर करेंcategory(वैकल्पिक): श्रेणी से फ़िल्टर करें (auth,user_management,config,backup,server)status(वैकल्पिक): स्थिति से फ़िल्टर करें (success,failure,error)
-
प्रतिक्रिया:
{"logs": [{"id": 1,"timestamp": "2024-01-15T10:30:00Z","userId": "user-id","username": "admin","action": "login","category": "auth","targetType": "user","targetId": "user-id","status": "success","ipAddress": "192.168.1.100","userAgent": "Mozilla/5.0...","details": {"is_admin": true},"errorMessage": null}],"pagination": {"page": 1,"limit": 50,"total": 150,"totalPages": 3}} -
त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- पेज-आधारित (
page) और ऑफ़सेट-आधारित (offset) दोनों प्रकार के पेजिनेशन का समर्थन करता है detailsफ़ील्ड में अतिरिक्त संदर्भ के साथ पार्स किया गया JSON होता है- सभी ऑडिट लॉग क्वेरीज़ लॉग की जाती हैं
- पेज-आधारित (
ऑडिट लॉग फ़िल्टर मान प्राप्त करें - /api/audit-log/filters
-
एंडपॉइंट:
/api/audit-log/filters -
मेथड: GET
-
विवरण: ऑडिट लॉग को फ़िल्टर करने के लिए उपलब्ध विशिष्ट फ़िल्टर मान प्राप्त करता है। ऑडिट लॉग डेटाबेस में मौजूद सभी अलग-अलग कार्रवाइयों, श्रेणियों और स्थितियों को लौटाता है। UI में फ़िल्टर ड्रॉपडाउन को भरने के लिए उपयोगी।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन आवश्यक (लॉग-इन उपयोगकर्ता आवश्यक)
-
प्रतिक्रिया:
{"actions": ["login","logout","user_created","user_updated","config_updated"],"categories": ["auth","user_management","config","backup","server"],"statuses": ["success","failure","error"]} -
त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- ऑडिट लॉग डेटाबेस से विशिष्ट मानों के ऐरे लौटाता है
- मानों को वर्णानुक्रम में क्रमबद्ध किया जाता है
- यदि कोई डेटा मौजूद नहीं है या त्रुटि होने पर खाली ऐरे लौटाए जाते हैं
- फ़िल्टर ड्रॉपडाउन को गतिशील रूप से भरने के लिए ऑडिट लॉग व्यूअर द्वारा उपयोग किया जाता है
ऑडिट लॉग डाउनलोड करें - /api/audit-log/download
- एंडपॉइंट:
/api/audit-log/download - मेथड: GET
- विवरण: वैकल्पिक फ़िल्टरिंग के साथ CSV या JSON प्रारूप में ऑडिट लॉग डाउनलोड करता है। बाहरी विश्लेषण और रिपोर्टिंग के लिए उपयोगी।
- प्रमाणीकरण: वैध सत्र और CSRF टोकन आवश्यक (लॉग-इन उपयोगकर्ता आवश्यक)
- क्वेरी पैरामीटर:
format(वैकल्पिक): निर्यात प्रारूप -csvयाjson(डिफ़ॉल्ट:csv)startDate(वैकल्पिक): इस तिथि से लॉग फ़िल्टर करें (ISO प्रारूप)endDate(वैकल्पिक): इस तिथि तक लॉग फ़िल्टर करें (ISO प्रारूप)userId(वैकल्पिक): उपयोगकर्ता आईडी से फ़िल्टर करेंusername(वैकल्पिक): उपयोगकर्ता नाम से फ़िल्टर करेंaction(वैकल्पिक): कार्रवाई नाम से फ़िल्टर करेंcategory(वैकल्पिक): श्रेणी से फ़िल्टर करेंstatus(वैकल्पिक): स्थिति से फ़िल्टर करें
- प्रतिक्रिया (CSV):
- Content-Type:
text/csv - Content-Disposition:
attachment; filename="audit-log-YYYY-MM-DD.csv" - हेडर वाली CSV फ़ाइल: ID, Timestamp, User ID, Username, Action, Category, Target Type, Target ID, Status, IP Address, User Agent, Details, Error Message
- Content-Type:
- प्रतिक्रिया (JSON):
- Content-Type:
application/json - Content-Disposition:
attachment; filename="audit-log-YYYY-MM-DD.json" - ऑडिट लॉग प्रविष्टियों का JSON ऐरे
- Content-Type:
- त्रुटि प्रतिक्रियाएँ:
400: निर्यात करने के लिए कोई लॉग नहीं401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: आंतरिक सर्वर त्रुटि
- नोट्स:
- निर्यात सीमा 10,000 रिकॉर्ड है
- CSV प्रारूप विशेष वर्णों को उचित रूप से एस्केप करता है
- CSV में विवरण फ़ील्ड JSON-स्ट्रिंगीफ़ाइड होती है
- फ़ाइल नाम में वर्तमान तिथि शामिल होती है
ऑडिट लॉग साफ़ करें - /api/audit-log/cleanup
-
एंडपॉइंट:
/api/audit-log/cleanup -
मेथड: POST
-
विवरण: प्रतिधारण अवधि के आधार पर पुराने ऑडिट लॉग की सफाई को मैन्युअल रूप से ट्रिगर करता है। यह क्या हटाया जाएगा इसका पूर्वावलोकन करने के लिए ड्राई-रन मोड का समर्थन करता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
-
अनुरोध बॉडी:
{"retentionDays": 90,"dryRun": false} -
retentionDays(वैकल्पिक): प्रतिधारण दिनों को ओवरराइड करें (30-365), अन्यथा कॉन्फ़िगर किए गए मान का उपयोग करता हैdryRun(वैकल्पिक): यदि सत्य है, तो केवल यह लौटाता है कि वास्तव में हटाए बिना क्या हटाया जाएगा
-
प्रतिक्रिया (ड्राई रन):
{"dryRun": true,"wouldDeleteCount": 50,"oldestRemaining": "2024-01-01T00:00:00Z","retentionDays": 90,"cutoffDate": "2024-01-01"} -
प्रतिक्रिया (वास्तविक सफाई):
{"success": true,"deletedCount": 50,"oldestRemaining": "2024-01-01T00:00:00Z","retentionDays": 90} -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य प्रतिधारण दिन (30-365 के बीच होने चाहिए)401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: प्रतिबंधित - एडमिन विशेषाधिकार आवश्यक500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ता के लिए सुलभ
- यदि कॉन्फ़िगर नहीं है तो डिफ़ॉल्ट प्रतिधारण 90 दिन है
- क्लीनअप ऑपरेशन ऑडिट लॉग में लॉग किया जाता है
- ड्राई-रन मोड क्लीनअप प्रभाव का पूर्वावलोकन करने के लिए उपयोगी है
ऑडिट लॉग प्रतिधारण प्राप्त करें - /api/audit-log/retention
-
एंडपॉइंट:
/api/audit-log/retention -
मेथड: GET
-
विवरण: दिनों में वर्तमान ऑडिट लॉग प्रतिधारण कॉन्फ़िगरेशन प्राप्त करता है।
-
प्रमाणीकरण: मान्य सत्र और CSRF टोकन आवश्यक (लॉग-इन उपयोगकर्ता की आवश्यकता नहीं)
-
प्रतिक्रिया:
{"retentionDays": 90} -
त्रुटि प्रतिक्रियाएँ:
500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- यदि कॉन्फ़िगर नहीं है तो डिफ़ॉल्ट प्रतिधारण 90 दिन है
- प्रमाणीकरण के बिना एक्सेस किया जा सकता है (रीड-ओनली)
ऑडिट लॉग प्रतिधारण अपडेट करें - /api/audit-log/retention
-
एंडपॉइंट:
/api/audit-log/retention -
मेथड: PATCH
-
विवरण: दिनों में ऑडिट लॉग प्रतिधारण अवधि को अपडेट करता है। यह सेटिंग निर्धारित करती है कि स्वचालित क्लीनअप से पहले ऑडिट लॉग कितने समय तक रखे जाते हैं।
-
प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
-
अनुरोध बॉडी:
{"retentionDays": 120} -
retentionDays: आवश्यक, 30 और 365 दिनों के बीच होना चाहिए -
प्रतिक्रिया:
{"success": true,"retentionDays": 120} -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य प्रतिधारण दिन (30-365 के बीच होने चाहिए)401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: प्रतिबंधित - एडमिन विशेषाधिकार आवश्यक500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- केवल एडमिन उपयोगकर्ता के लिए सुलभ
- कॉन्फ़िगरेशन परिवर्तन ऑडिट लॉग में लॉग किया जाता है
- प्रतिधारण अवधि स्वचालित और मैन्युअल क्लीनअप संचालन को प्रभावित करती है
API कुंजियाँ
API कुंजियाँ सूचीबद्ध करें - /api/api-keys
- एंडपॉइंट:
/api/api-keys - मेथड: GET
- विवरण: सभी API कुंजियाँ सूचीबद्ध करता है। सीक्रेट कभी नहीं लौटाए जाते; प्रत्येक कुंजी में एक फिंगरप्रिंट (
Qk7v…3xTa) शामिल होता है। - प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
- त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: प्रतिबंधित - एडमिन विशेषाधिकार आवश्यक500: आंतरिक सर्वर त्रुटि
API कुंजी बनाएँ - /api/api-keys
-
एंडपॉइंट:
/api/api-keys -
मेथड: POST
-
विवरण: एक स्कोप की गई API कुंजी बनाता है। प्लेनटेक्स्ट सीक्रेट केवल इसी प्रतिक्रिया में लौटाया जाता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
-
अनुरोध बॉडी:
{"name": "Duplicati uploads","scope": "upload","description": "Optional","expiresAt": null} -
त्रुटि प्रतिक्रियाएँ:
400: नाम मौजूद नहीं है या अमान्य स्कोप (uploadयाread)401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: प्रतिबंधित - एडमिन विशेषाधिकार आवश्यक500: आंतरिक सर्वर त्रुटि
API कुंजी अपडेट करें - /api/api-keys/:id
- एंडपॉइंट:
/api/api-keys/:id - मेथड: PATCH
- विवरण: एक कुंजी को सक्षम या अक्षम करता है।
- प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन की आवश्यकता है
API कुंजी हटाएँ - /api/api-keys/:id
- एंडपॉइंट:
/api/api-keys/:id - मेथड: DELETE
- विवरण: एक कुंजी को हटाता है। उस सीक्रेट का उपयोग करने वाले मौजूदा क्लाइंट तुरंत एक्सेस खो देते हैं।
- प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन की आवश्यकता है
डेटाबेस प्रबंधन
डेटाबेस बैकअप - /api/database/backup
- एंडपॉइंट:
/api/database/backup - मेथड: GET
- विवरण: बाइनरी (.db) या SQL (.sql) फ़ॉर्मेट में डेटाबेस का बैकअप बनाता है। बैकअप फ़ाइल स्वचालित रूप से टाइमस्टैम्प वाले फ़ाइलनाम के साथ डाउनलोड हो जाती है।
- प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक
- क्वेरी पैरामीटर्स:
format(वैकल्पिक): बैकअप फ़ॉर्मेट -db(बाइनरी) याsql(SQL डंप)। डिफ़ॉल्ट:db
- प्रतिक्रिया:
- Content-Type:
application/octet-stream(.db के लिए) याtext/plain(.sql के लिए) - Content-Disposition:
attachment; filename="duplistatus-backup-YYYY-MM-DDTHH-MM-SS.db"या.sql - बाइनरी फ़ाइल सामग्री (.db के लिए) या SQL टेक्स्ट सामग्री (.sql के लिए)
- Content-Type:
- त्रुटि प्रतिक्रियाएँ:
400: अमान्य फ़ॉर्मेट ("db" या "sql" होना चाहिए)401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: प्रतिबंधित - एडमिन विशेषाधिकार आवश्यक500: डेटाबेस बैकअप बनाने में विफल
- नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- बाइनरी प्रारूप अखंडता के लिए SQLite की बैकअप विधि का उपयोग करता है
- SQL प्रारूप सभी डेटाबेस सामग्री का टेक्स्ट डंप बनाता है
- फ़ाइल नाम में टाइमस्टैम्प सर्वर के स्थानीय समय क्षेत्र का उपयोग करता है
- बैकअप ऑपरेशन ऑडिट लॉग में लॉग किया जाता है
- डाउनलोड के बाद अस्थायी फ़ाइलें स्वचालित रूप से साफ़ कर दी जाती हैं
डेटाबेस पुनर्स्थापित करें - /api/database/restore
-
एंडपॉइंट:
/api/database/restore -
विधि: POST
-
विवरण: डेटाबेस को बैकअप फ़ाइल (.db या .sql प्रारूप) से पुनर्स्थापित करता है। पुनर्स्थापना से पहले एक सुरक्षा बैकअप बनाता है और सुरक्षा के लिए पुनर्स्थापना के बाद सभी सत्र साफ़ करता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकारों, मान्य सत्र और CSRF टोकन की आवश्यकता है
-
अनुरोध बॉडी: FormData जिसमें
databaseनामक एक फ़ाइल फ़ील्ड हो- फ़ाइल या तो
.db,.sqlite,.sqlite3(बाइनरी प्रारूप) या.sql(SQL प्रारूप) होनी चाहिए - अधिकतम फ़ाइल आकार: 200MB
- फ़ाइल या तो
-
प्रतिक्रिया:
{"success": true,"message": "Database restored successfully from DB file","safetyBackupPath": "duplistatus-backup-YYYY-MM-DDTHH-MM-SS.db","requiresReauth": true} -
त्रुटि प्रतिक्रियाएँ:
400: कोई फ़ाइल प्रदान नहीं की गई, फ़ाइल का आकार सीमा से अधिक है, अमान्य फ़ाइल प्रारूप, या डेटाबेस अखंडता जांच विफल रही401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक500: डेटाबेस पुनर्स्थापित करने में विफल (यदि पुनर्स्थापना विफल होती है तो सुरक्षा बैकअप से मूल डेटाबेस पुनर्स्थापित किया जाता है)
-
नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- पुनर्स्थापना से पहले स्वचालित रूप से एक सुरक्षा बैकअप बनाता है
- बाइनरी (.db) और SQL (.sql) दोनों प्रारूपों का समर्थन करता है
- पुनर्स्थापना के बाद डेटाबेस अखंडता मान्य करता है
- यदि पुनर्स्थापना विफल होती है, तो सुरक्षा बैकअप से स्वचालित रूप से पुनर्स्थापित करता है
- सफल पुनर्स्थापना के बाद सुरक्षा के लिए सभी सत्र साफ़ कर दिए जाते हैं
- उपयोगकर्ता को फिर से लॉग इन करने की आवश्यकता इंगित करने के लिए
requiresReauth: trueलौटाता है - पुनर्स्थापना ऑपरेशन ऑडिट लॉग में लॉग किया जाता है
- SQL प्रारूप के लिए, निष्पादन से पहले SQL सामग्री मान्य करता है
- पुनर्स्थापना के बाद डेटाबेस कनेक्शन पुनः आरंभ किया जाता है
- पुनर्स्थापना के बाद सभी कैश अमान्य कर दिए जाते हैं
बैकअप टाइमस्टैम्प
अंतिम बैकअप टाइमस्टैम्प प्राप्त करें - /api/backups/last-timestamps
-
एंडपॉइंट:
/api/backups/last-timestamps -
विधि: GET
-
विवरण: प्रत्येक सर्वर-बैकअप संयोजन के लिए अंतिम बैकअप टाइमस्टैम्प पुनर्प्राप्त करता है। आसान लुकअप के लिए एक मैप लौटाता है।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया:
{"timestamps": {"server-id-1:Backup Name 1": "2024-03-20T10:00:00Z","server-id-1:Backup Name 2": "2024-03-20T11:00:00Z","server-id-2:Backup Name 1": "2024-03-20T12:00:00Z"},"raw": [{"server_name": "Server Name","server_id": "server-id-1","backup_name": "Backup Name 1","date": "2024-03-20T10:00:00Z"}]} -
त्रुटि प्रतिक्रियाएँ:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: अंतिम बैकअप टाइमस्टैम्प प्राप्त करने में विफल
-
नोट्स:
- आसान लुकअप के लिए एक मैप (
server_id:backup_nameद्वारा) और कच्चा सरणी प्रारूप दोनों लौटाता है - कैशिंग रोकने के लिए कैश नियंत्रण हेडर शामिल करता है
- सभी सर्वर-बैकअप संयोजनों में अंतिम बैकअप समय ट्रैक करने के लिए उपयोगी
- टाइमस्टैम्प ISO प्रारूप में हैं
- आसान लुकअप के लिए एक मैप (
एप्लिकेशन लॉग प्रबंधन
एप्लिकेशन लॉग प्राप्त करें - /api/application-logs
-
एंडपॉइंट:
/api/application-logs -
विधि: GET
-
विवरण: लॉग फ़ाइलों से एप्लिकेशन लॉग प्रविष्टियाँ पुनर्प्राप्त करता है। टेल कार्यक्षमता के साथ वर्तमान और रोटेटेड लॉग फ़ाइलों को पढ़ने का समर्थन करता है।
-
प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक है
-
क्वेरी पैरामीटर:
file(वैकल्पिक): पढ़ने के लिए लॉग फ़ाइल का नाम -application.log,application.log.1,application.log.2, आदि। यदि प्रदान नहीं किया गया, तो उपलब्ध फ़ाइलों की सूची लौटाता हैtail(वैकल्पिक): फ़ाइल के अंत से लौटाने के लिए पंक्तियों की संख्या (डिफ़ॉल्ट: 1000, न्यूनतम: 1, अधिकतम: 10000)
-
प्रतिक्रिया (फ़ाइल पैरामीटर के साथ):
{"logs": "log content as string...","fileSize": 1024000,"lastModified": "2024-03-20T10:00:00Z","lineCount": 5000,"currentFile": "application.log","availableFiles": ["application.log", "application.log.1", "application.log.2"]} -
प्रतिक्रिया (फ़ाइल पैरामीटर के बिना):
{"logs": "","fileSize": 0,"lastModified": "2024-03-20T10:00:00Z","lineCount": 0,"currentFile": "","availableFiles": ["application.log", "application.log.1", "application.log.2"]} -
त्रुटि प्रतिक्रियाएँ:
400: अमान्य टेल पैरामीटर (1-10000 होना चाहिए) या अमान्य फ़ाइल पैरामीटर प्रारूप401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक404: लॉग फ़ाइल नहीं मिली500: लॉग फ़ाइल पढ़ने में विफल
-
नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- वर्तमान लॉग फ़ाइल और रोटेटेड लॉग फ़ाइलों (अधिकतम 10 रोटेटेड फ़ाइलें) को पढ़ने का समर्थन करता है
- निर्दिष्ट लॉग फ़ाइल से अंतिम N पंक्तियाँ (टेल) लौटाता है
- लॉग फ़ाइल का नाम पर्यावरण चर द्वारा निर्धारित होता है (डिफ़ॉल्ट:
application.log) - जब फ़ाइल पैरामीटर प्रदान नहीं किया जाता है तो उपलब्ध लॉग फ़ाइलों की सूची लौटाता है
- डायरेक्टरी ट्रैवर्सल हमलों को रोकने के लिए फ़ाइल नाम मान्य किए जाते हैं
- रोटेटेड फ़ाइलें क्रमिक रूप से क्रमांकित होती हैं (
.1,.2, आदि)
एप्लिकेशन लॉग निर्यात करें - /api/application-logs/export
- एंडपॉइंट:
/api/application-logs/export - मेथड: GET
- विवरण: फ़िल्टर किए गए पाठ प्रारूप में एप्लिकेशन लॉग प्रविष्टियों को निर्यात करता है। लॉग स्तर और खोज स्ट्रिंग द्वारा फ़िल्टरिंग का समर्थन करता है।
- प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन आवश्यक है
- क्वेरी पैरामीटर:
file(आवश्यक): निर्यात करने के लिए लॉग फ़ाइल नाम -application.log,application.log.1,application.log.2, आदि।logLevels(वैकल्पिक): शामिल करने के लिए लॉग स्तरों की अल्पविराम से अलग की गई सूची -INFO,WARN,ERROR(डिफ़ॉल्ट:INFO,WARN,ERROR)search(वैकल्पिक): लॉग लाइनों को फ़िल्टर करने के लिए खोज स्ट्रिंग (केस-असंवेदनशील)
- प्रतिक्रिया:
- Content-Type:
text/plain - Content-Disposition:
attachment; filename="duplistatus-logs-YYYY-MM-DDTHH-MM-SS.txt" - सादा पाठ के रूप में फ़िल्टर किया गया लॉग कंटेंट
- Content-Type:
- त्रुटि प्रतिक्रियाएँ:
400: फ़ाइल पैरामीटर आवश्यक है या अमान्य फ़ाइल पैरामीटर प्रारूप401: अनधिकृत - अमान्य सत्र या CSRF टोकन403: निषिद्ध - एडमिन विशेषाधिकार आवश्यक500: लॉग निर्यात करने में विफल
- नोट्स:
- केवल एडमिन उपयोगकर्ताओं के लिए सुलभ
- लॉग स्तर और खोज मानदंड के आधार पर फ़िल्टर की गई लॉग प्रविष्टियों को निर्यात करता है
- लॉग स्तरों द्वारा फ़िल्टरिंग का समर्थन करता है:
INFO,WARN,ERROR - खोज स्ट्रिंग फ़िल्टरिंग केस-असंवेदनशील है
- खाली लाइनें स्वचालित रूप से फ़िल्टर हो जाती हैं
- लॉग फ़ाइल नाम एनवायरनमेंट वेरिएबल द्वारा निर्धारित किया जाता है (डिफ़ॉल्ट:
application.log) - डायरेक्टरी ट्रैवर्सल हमलों को रोकने के लिए फ़ाइल नामों को मान्य किया जाता है
- निर्यात की गई फ़ाइल में फ़ाइल नाम में टाइमस्टैम्प शामिल होता है
- बाहरी विश्लेषण और ट्रबलशूटिंग के लिए उपयोगी