Merge branch 'master' of https://github.com/mailcow/mailcow-dockerized
commit
3234550a5b
|
@ -9,12 +9,15 @@
|
|||
"filters": "Filtre",
|
||||
"login_as": "Conectează-te ca utilizator al cutiei poștale",
|
||||
"prohibited": "Interzis de ACL",
|
||||
"protocol_access": "Schimbați protocolul de acces",
|
||||
"pushover": "Pushover",
|
||||
"quarantine": "Acțiuni de carantină",
|
||||
"quarantine_attachments": "Atașamente de carantină",
|
||||
"quarantine_notification": "Notificări de carantină",
|
||||
"quarantine_category": "Schimbați categoria notificărilor despre carantină",
|
||||
"ratelimit": "Rata limită",
|
||||
"recipient_maps": "Hărți recipient",
|
||||
"smtp_ip_access": "Schimbați gazdele permise pentru SMTP",
|
||||
"sogo_access": "Permiteți gestionarea accesului SOGo",
|
||||
"sogo_profile_reset": "Resetează profilul SOGo",
|
||||
"spam_alias": "Aliasuri temporare",
|
||||
|
@ -22,7 +25,8 @@
|
|||
"spam_score": "Scor spam",
|
||||
"syncjobs": "Lucrări de sincronizare",
|
||||
"tls_policy": "Politică TLS",
|
||||
"unlimited_quota": "Cota nelimitată pentru cutiile poștale"
|
||||
"unlimited_quota": "Cota nelimitată pentru cutiile poștale",
|
||||
"domain_desc": "Schimbați descrierea domeniului"
|
||||
},
|
||||
"add": {
|
||||
"activate_filter_warn": "Toate celelalte filtre vor fi dezactivate, când este bifată opțiunea activă.",
|
||||
|
@ -135,6 +139,7 @@
|
|||
"ban_list_info": "Vezi mai jos o listă de adrese IP interzise: <b>rețea (timp de interdicție rămas) - [acțiuni]</b>.<br />IP-urile în așteptare pentru a fi scoase din interdicție vor fi eliminate din lista de interdicții active în câteva secunde.<br />Etichetele roșii indică interzicerea activă permanentă prin punerea pe lista neagră.",
|
||||
"change_logo": "Schimbă logo",
|
||||
"configuration": "Configurație",
|
||||
"convert_html_to_text": "Convertiți HTML în text simplu",
|
||||
"credentials_transport_warning": "<b>Avertisment</b>: Adăugarea unei noi intrări hartă de transport va actualiza datele de acreditare pentru toate intrările cu o coloană nexthop corespunzătoare.",
|
||||
"customer_id": "ID client",
|
||||
"customize": "Personalizează",
|
||||
|
@ -150,10 +155,12 @@
|
|||
"dkim_key_unused": "Cheie neutilizată",
|
||||
"dkim_key_valid": "Cheie validă",
|
||||
"dkim_keys": "Chei ARC/DKIM",
|
||||
"dkim_overwrite_key": "Suprascrieți cheia DKIM existentă",
|
||||
"dkim_private_key": "Cheie privată",
|
||||
"dkim_to": "Către",
|
||||
"dkim_to_title": "Domeniul/ile țintă - va/vor fi suprascris/e",
|
||||
"domain": "Domeniu",
|
||||
"domain_admin": "Administrator de domeniu",
|
||||
"domain_admins": "Administratori de domenii",
|
||||
"domain_s": "Domeniu/i",
|
||||
"duplicate": "Duplică",
|
||||
|
@ -163,11 +170,13 @@
|
|||
"excludes": "Exclude acești destinatari",
|
||||
"f2b_ban_time": "Timp interdicție (s)",
|
||||
"f2b_blacklist": "Rețele/gazde pe lista neagră",
|
||||
"f2b_filter": "Filtre regex",
|
||||
"f2b_list_info": "O gazdă sau o rețea pe lista neagră va depăși întotdeauna o entitate pe lista albă. Înregistrările din lista neagră sunt create la data încărcării containerului. Înregistrările din lista albă sunt citite de fiecare dată când se va aplica o interdicție.",
|
||||
"f2b_max_attempts": "Număr maxim încercări",
|
||||
"f2b_netban_ipv4": "Dimensiunea subrețelei IPv4 pentru a aplica interdicția (8-32)",
|
||||
"f2b_netban_ipv6": "Dimensiunea subrețelei IPv6 pentru a aplica interdicția (8-128)",
|
||||
"f2b_parameters": "Parametrii fail2ban",
|
||||
"f2b_regex_info": "Jurnalele luate în considerare: SOGo, Postfix, Dovecot, PHP-FPM.",
|
||||
"f2b_retry_window": "Reîncercați fereastra (ele) pentru max. încercări",
|
||||
"f2b_whitelist": "Rețele/gazde pe lista albă",
|
||||
"filter_table": "Tabel filtre",
|
||||
|
@ -182,6 +191,7 @@
|
|||
"hash_remove_info": "Eliminarea unui hash de limită a ratei (dacă există încă) îi va reseta complet contorul.<br>\n Fiecare hash este indicat de o culoare individuală.",
|
||||
"help_text": "Suprascrie textul de ajutor de sub masca de conectare (HTML permis)",
|
||||
"host": "Gazdă",
|
||||
"html": "HTML",
|
||||
"import": "Importă",
|
||||
"import_private_key": "Importă cheia privată",
|
||||
"in_use_by": "În utilizare de către",
|
||||
|
@ -210,6 +220,7 @@
|
|||
"oauth2_redirect_uri": "URI redirect",
|
||||
"oauth2_renew_secret": "Generează nou secret client",
|
||||
"oauth2_revoke_tokens": "Revocă toate jetoanele clientului",
|
||||
"optional": "optional",
|
||||
"password": "Parolă",
|
||||
"password_repeat": "Parola de confirmare (repetă)",
|
||||
"priority": "Prioritate",
|
||||
|
@ -219,9 +230,11 @@
|
|||
"quarantine_exclude_domains": "Exclude domeniile și domeniile-alias",
|
||||
"quarantine_max_age": "Vechimea maximă în zile<br><small>Valoarea trebuie să fie egală sau mai mare de o zi.</small>",
|
||||
"quarantine_max_size": "Dimensiunea maximă în MiB (elementele mai mari sunt eliminate):<br><small>0 <b>nu</b> indică nelimitat.</small>",
|
||||
"quarantine_max_score": "Renunțați la notificare dacă scorul de spam al unui e-mail este mai mare decât această valoare: <br><small>Valori implicite la 9999.0</small>",
|
||||
"quarantine_notification_html": "Șablon email de notificare:<br><small>Se lasă gol pentru a restabili șablonul implicit.</small>",
|
||||
"quarantine_notification_sender": "Expeditor email de notificare",
|
||||
"quarantine_notification_subject": "Subiect email de notificare",
|
||||
"quarantine_redirect": "<b>Redirecționați toate notificările</b> către acest destinatar:<br><small>Lăsați gol pentru a dezactiva. <b>E-mail nesemnat, nebifat. Trebuie livrat numai intern.</b></small>",
|
||||
"quarantine_release_format": "Formatul articolelor eliberate",
|
||||
"quarantine_release_format_att": "Ca atașament",
|
||||
"quarantine_release_format_raw": "Original nemodificat",
|
||||
|
@ -324,6 +337,7 @@
|
|||
"comment_too_long": "Comentariu prea lung, sunt permise maximum 160 de caractere",
|
||||
"defquota_empty": "Cota implicită per cutie poștală nu trebuie să fie 0.",
|
||||
"description_invalid": "Descrierea resursei pentru %s este invalidă",
|
||||
"dkim_domain_or_sel_exists": "O cheie DKIM pentru \"%s\" există și nu va fi suprascrisă",
|
||||
"dkim_domain_or_sel_invalid": "Domeniul sau selectorul DKIM invalid: %s",
|
||||
"domain_cannot_match_hostname": "Domeniul nu se poate potrivi cu numele de gazdă",
|
||||
"domain_exists": "Domeniul %s există deja",
|
||||
|
@ -393,6 +407,7 @@
|
|||
"redis_error": "Eroare Redis: %s",
|
||||
"relayhost_invalid": "Intrarea hărții %s este invalidă",
|
||||
"release_send_failed": "Mesajul nu a putut fi eliberat: %s",
|
||||
"reset_f2b_regex": "Filtrul regex nu a putut fi resetat la timp, încercați din nou sau așteptați câteva secunde și reîncărcați pagina.",
|
||||
"resource_invalid": "Numele de resurse %s este invalid",
|
||||
"rl_timeframe": "Rata limită pentru intervalul de timp este incorectă",
|
||||
"rspamd_ui_pw_length": "Parola Rspamd UI ar trebui să aibă cel puțin 6 caractere",
|
||||
|
@ -408,12 +423,14 @@
|
|||
"targetd_relay_domain": "Domeniul țintă %s este un domeniu releu",
|
||||
"temp_error": "Eroare temporară",
|
||||
"text_empty": "Textul nu trebuie să fie gol",
|
||||
"tfa_token_invalid": "Jeton TFA invalid",
|
||||
"tls_policy_map_dest_invalid": "Destinația politicii este invalidă",
|
||||
"tls_policy_map_entry_exists": "O intrare a hărții politicii TLS \"%s\" există",
|
||||
"tls_policy_map_parameter_invalid": "Parametrul politicii este invalid",
|
||||
"totp_verification_failed": "Verificarea TOTP a eșuat",
|
||||
"transport_dest_exists": "Destinația transportului \"%s\" există",
|
||||
"u2f_verification_failed": "Verificarea U2F a eșuat: %s",
|
||||
"fido2_verification_failed": "Verificarea FIDO2 a eșuat: %s",
|
||||
"unknown": "A apărut o eroare necunoscută",
|
||||
"unknown_tfa_method": "Metodă TFA necunoscută",
|
||||
"unlimited_quota_acl": "Cota nelimitată interzisă de ACL",
|
||||
|
@ -423,9 +440,11 @@
|
|||
"yotp_verification_failed": "Verificarea Yubico OTP a eșuat: %s"
|
||||
},
|
||||
"debug": {
|
||||
"chart_this_server": "Grafic (acest server)",
|
||||
"containers_info": "Informaţii container",
|
||||
"disk_usage": "Utilizare disc",
|
||||
"external_logs": "Jurnale externe",
|
||||
"history_all_servers": "Istoric (toate serverele)",
|
||||
"in_memory_logs": "Jurnale din memorie",
|
||||
"jvm_memory_solr": "Memorie utilizată de JVM",
|
||||
"log_info": "<p><b>jurnalele din memorie</b> pentru mailcow sunt colectate în listele Redis și trimise la LOG_LINES (%d) în fiecare minut pentru a reduce ciocnirea.\n <br>Jurnalele din memorie nu sunt menite a fi persistente. Toate aplicațiile care înregistrează jurnale în memorie, înregistrează de asemenea jurnale în daemonul Docker și, prin urmare, în driverul de jurnale implicit.\n <br>Tipul de jurnal din memorie trebuie utilizat pentru depanarea problemelor minore cu containerele.</p>\n <p><b>Jurnalele externe</b> sunt colectate prin API-ul aplicației respective.</p>\n <p><b>Jurnalele statice</b> sunt, în majoritate, jurnale de activitate care nu sunt înregistrate în Docker, dar trebuie să fie persistente (cu excepția jurnalelor API).</p>",
|
||||
|
@ -456,6 +475,9 @@
|
|||
"active": "Activ",
|
||||
"advanced_settings": "Setări avansate",
|
||||
"alias": "Editează alias",
|
||||
"allow_from_smtp": "Permiteți acestor adrese IP să utilizeze numai <b>SMTP</b>",
|
||||
"allow_from_smtp_info": "Lăsați gol pentru a permite tuturor expeditorilor.<br>Adrese și rețele IPv4/IPv6.",
|
||||
"allowed_protocols": "Protocoale permise",
|
||||
"app_name": "Nume aplicație",
|
||||
"app_passwd": "Parolă apicație",
|
||||
"automap": "Încearcă maparea automată a folderelor (\"Obiecte trimise\", \"Trimise\" => \"Trimise\" etc.)",
|
||||
|
@ -582,8 +604,10 @@
|
|||
},
|
||||
"login": {
|
||||
"delayed": "Conectarea a fost întârziată cu %s secunde.",
|
||||
"fido2_webauthn": "FIDO2/WebAuthn",
|
||||
"login": "Autentificare",
|
||||
"mobileconfig_info": "Autentificați-vă cu adresa de email pentru a descărca profilul de conexiune Apple.",
|
||||
"other_logins": "Autentificare cu cheie",
|
||||
"password": "Parolă",
|
||||
"username": "Nume de utilizator"
|
||||
},
|
||||
|
@ -607,6 +631,9 @@
|
|||
"alias_domain_alias_hint": "Aliasurile <b>nu</b> sunt aplicate automat pe domeniile alias. O adresă alias <code>aliasul-meu@domeniu</code> <b>nu</b> acoperă adresa <code>aliasul-meu@domeniu-alias</code> (unde \"domeniu-alias\" este un domeniu alias imaginar pentru \"domeniu\").<br>Vă rugăm să utilizați un filtru sită pentru a redirecționa poșta către o căsuță poștală externă (consultați zona \"Filtre\" sau utilizați SOGo -> Redirecționare).",
|
||||
"alias_domain_backupmx": "Alias domeniu inactiv pentru domeniu releu",
|
||||
"aliases": "Aliasuri",
|
||||
"allow_from_smtp": "Permiteți acestor adrese IP să utilizeze numai <b>SMTP</b>",
|
||||
"allow_from_smtp_info": "Lăsați gol pentru a permite tuturor expeditorilor.<br>Adrese și rețele IPv4/IPv6.",
|
||||
"allowed_protocols": "Protocoale permise",
|
||||
"backup_mx": "Backup MX",
|
||||
"bcc": "BCC",
|
||||
"bcc_destination": "Destinație BCC",
|
||||
|
@ -656,6 +683,8 @@
|
|||
"mailbox_defquota": "Cota implicită a căsuței poștale",
|
||||
"mailbox_quota": "Dimensiunea maximă a unei cutii poștale",
|
||||
"mailboxes": "Cutii poștale",
|
||||
"mailbox_defaults": "Setări implicite",
|
||||
"mailbox_defaults_info": "Definiți setările implicite pentru cutiile poștale noi.",
|
||||
"mins_interval": "Interval (min)",
|
||||
"msg_num": "Mesaj #",
|
||||
"multiple_bookings": "Rezervări multiple",
|
||||
|
@ -666,7 +695,11 @@
|
|||
"owner": "Proprietar",
|
||||
"private_comment": "Comentariu privat",
|
||||
"public_comment": "Comentariu public",
|
||||
"q_add_header": "Dosarul nedorit",
|
||||
"q_all": "Toate categoriile",
|
||||
"q_reject": "Respins",
|
||||
"quarantine_notification": "Notificări de carantină",
|
||||
"quarantine_category": "Categoria notificărilor despre carantină",
|
||||
"quick_actions": "Acţiuni",
|
||||
"recipient_map": "Hartă destinatar",
|
||||
"recipient_map_info": "Hărțile destinatarilor sunt folosite pentru a înlocui adresa de destinație a unui mesaj înainte de a fi livrat.",
|
||||
|
@ -688,6 +721,7 @@
|
|||
"sieve_preset_5": "Răspuns automat (vacanță)",
|
||||
"sieve_preset_6": "Respinge mail cu răspuns",
|
||||
"sieve_preset_7": "Redirecționează și păstrează/aruncă",
|
||||
"sieve_preset_8": "Renunțați la mesajul trimis la o adresă alias din care face parte expeditorul",
|
||||
"sieve_preset_header": "Vedeți exemplul de presetări de mai jos. Pentru mai multe detalii accesați <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
|
||||
"sogo_allow_admin_hint": "Conectările SOGo administrative sunt disponibile numai pentru căsuțele poștale cu un profil SOGo existent. Un utilizator trebuie să se fi fost conectat la SOGo cel puțin o dată.",
|
||||
"sogo_visible": "Aliasul este vizibil în SOGo",
|
||||
|
@ -731,12 +765,16 @@
|
|||
"action": "Acţiune",
|
||||
"atts": "Atașamente",
|
||||
"check_hash": "Caută hash-ul fișierului @ VT",
|
||||
"confirm": "Confirmați",
|
||||
"confirm_delete": "Confirmă ștergerea acestui element.",
|
||||
"danger": "Pericol",
|
||||
"deliver_inbox": "Livrați în căsuța de e-mail",
|
||||
"disabled_by_config": "Configurația actuală a sistemului dezactivează funcția de carantină.",
|
||||
"download_eml": "Descarcă (.eml)",
|
||||
"empty": "Nici un rezultat",
|
||||
"high_danger": "Ridicat",
|
||||
"info": "Informații",
|
||||
"junk_folder": "Dosar nedorit",
|
||||
"learn_spam_delete": "Învață ca spam și șterge",
|
||||
"low_danger": "Pericol scăzut",
|
||||
"medium_danger": "Pericol mediu",
|
||||
|
@ -744,6 +782,7 @@
|
|||
"notified": "Notificat",
|
||||
"qhandler_success": "Solicitare trimisă cu succes la sistem. Acum poți închide fereastra.",
|
||||
"qid": "Rspamd QID",
|
||||
"qinfo": "Sistemul de carantină va salva e-mailurile respinse în baza de date (expeditorului <em>nu</em> i se va da impresia unui e-mail livrat), precum și e-mailul, care este livrat ca copie în dosarul Junk al unei cutii poștale.\r\n <br>\"Învățați ca spam și ștergeți\" va învăța un mesaj ca spam prin intermediul teoremei Bayesiene și, de asemenea, va calcula hash-uri fuzzy pentru a refuza mesajele similare în viitor.\r\n <br>Vă rugăm să rețineți că învățarea multiplă mesajele pot fi - în funcție de sistemul dvs. - consumatoare de timp. <br> Elementele din lista neagră sunt excluse din carantină.",
|
||||
"qitem": "Pune în carantină elementul",
|
||||
"quarantine": "Carantină",
|
||||
"quick_actions": "Acţiuni",
|
||||
|
@ -751,13 +790,21 @@
|
|||
"received": "Primit",
|
||||
"recipients": "Destinatari",
|
||||
"refresh": "Reînnoiește",
|
||||
"rejected": "Respins",
|
||||
"release": "Eliberează",
|
||||
"release_body": "Am atașat mesajul tău ca fișier eml la acest mesaj.",
|
||||
"release_subject": "Element în carantină potențial dăunător %s",
|
||||
"remove": "Elimină",
|
||||
"rewrite_subject": "Rescrie subiectul",
|
||||
"rspamd_result": "Rezultat Rspamd",
|
||||
"sender": "Expeditor (SMTP)",
|
||||
"sender_header": "Expeditor (antetul \"De la\")",
|
||||
"type": "Tip",
|
||||
"quick_release_link": "Deschide linkul de lansare rapidă",
|
||||
"quick_delete_link": "Deschide linkul de ștergere rapidă",
|
||||
"quick_info_link": "Deschide linkul de informații",
|
||||
"show_item": "Afișează elementul",
|
||||
"spam": "Spam",
|
||||
"spam_score": "Scor",
|
||||
"subj": "Subiect",
|
||||
"table_size": "Mărime tabel",
|
||||
|
@ -845,6 +892,7 @@
|
|||
"upload_success": "Fișier încărcat cu succes",
|
||||
"verified_totp_login": "Autentificarea TOTP verificată",
|
||||
"verified_u2f_login": "Autentificarea U2F verificată",
|
||||
"verified_fido2_login": "Conectare FIDO2 verificată",
|
||||
"verified_yotp_login": "Autentificarea Yubico OTP verificată"
|
||||
},
|
||||
"tfa": {
|
||||
|
@ -865,12 +913,27 @@
|
|||
"set_tfa": "Setează metoda de autentificare cu doi factori",
|
||||
"start_u2f_validation": "Începi validarea",
|
||||
"tfa": "Autentificare cu doi factori",
|
||||
"tfa_token_invalid": "Jeton TFA invalid",
|
||||
"totp": "OTP pe bază de timp (Google Authenticator etc.)",
|
||||
"u2f": "Autentificare U2F",
|
||||
"waiting_usb_auth": "<i>În așteptarea dispozitivului USB...</i><br><br>Apasă acum butonul de pe dispozitivul tău USB U2F.",
|
||||
"waiting_usb_register": "<i>În așteptarea dispozitivului USB...</i><br><br>Introdu parola ta mai sus și confirmă înregistrarea ta U2F atingând butonul de pe dispozitivul tău USB U2F.",
|
||||
"yubi_otp": "Autentificare Yubico OTP"
|
||||
},
|
||||
"fido2": {
|
||||
"set_fn": "Setați un nume prietenos",
|
||||
"fn": "Nume prietenos",
|
||||
"rename": "redenumiți",
|
||||
"confirm": "Confirmați",
|
||||
"register_status": "Starea înregistrării",
|
||||
"known_ids": "ID-uri cunoscute",
|
||||
"none": "Dezactivat",
|
||||
"set_fido2": "Înregistrați dispozitivul FIDO2",
|
||||
"start_fido2_validation": "Începeți validarea FIDO2",
|
||||
"fido2_auth": "Conectați-vă cu FIDO2",
|
||||
"fido2_success": "Dispozitivul a fost înregistrat cu succes",
|
||||
"fido2_validation_failed": "Validarea a esuat"
|
||||
},
|
||||
"user": {
|
||||
"action": "Acțiune",
|
||||
"active": "Activ",
|
||||
|
@ -942,8 +1005,13 @@
|
|||
"pushover_title": "Titlu notificare",
|
||||
"pushover_vars": "Când nu este definit niciun filtru pentru expeditor, toate mailurile vor fi luate în considerare. <br> Filtrele regex, precum și verificările exacte ale expeditorului pot fi definite individual și vor fi luate în considerare secvențial. Ele nu depind unul de celălalt. <br> Variabile utilizabile pentru text și titlu (vă rugăm să luați nota de politicile de protecție a datelor)",
|
||||
"pushover_verify": "Verifică credențialele",
|
||||
"q_add_header": "Dosarul nedorit",
|
||||
"q_all": "Toate categoriile",
|
||||
"q_reject": "Respins",
|
||||
"quarantine_notification": "Notificări de carantină",
|
||||
"quarantine_category": "Schimbați categoria notificărilor despre carantină",
|
||||
"quarantine_notification_info": "Odată ce o notificare a fost trimisă, elementele vor fi marcate ca fiind \"notificate\" și nu vor fi trimise alte notificări pentru acest articol.",
|
||||
"quarantine_category_info": "Categoria de notificări \"Respins\" include e-mailurile care au fost respinse, în timp ce \"Dosarul nedorit\" va notifica un utilizator despre mesajele care au fost introduse în dosarul nedorit.",
|
||||
"remove": "Șterge",
|
||||
"running": "Funcţionare",
|
||||
"save": "Salvează modificările",
|
||||
|
|
|
@ -170,6 +170,8 @@ SOLR_PORT=127.0.0.1:18983
|
|||
REDIS_PORT=127.0.0.1:7654
|
||||
|
||||
# Your timezone
|
||||
# See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for a list of timezones
|
||||
# Use the row named 'TZ database name' + pay attention for 'Notes' row
|
||||
|
||||
TZ=${MAILCOW_TZ}
|
||||
|
||||
|
|
|
@ -85,33 +85,33 @@ function backup() {
|
|||
case "$1" in
|
||||
vmail|all)
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail:ro \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail:ro,z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_vmail.tar.gz /vmail
|
||||
;;&
|
||||
crypt|all)
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt:ro \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt:ro,z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_crypt.tar.gz /crypt
|
||||
;;&
|
||||
redis|all)
|
||||
docker exec $(docker ps -qf name=redis-mailcow) redis-cli save
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis:ro \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis:ro,z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_redis.tar.gz /redis
|
||||
;;&
|
||||
rspamd|all)
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd:ro \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd:ro,z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_rspamd.tar.gz /rspamd
|
||||
;;&
|
||||
postfix|all)
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix:ro \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix:ro,z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_postfix.tar.gz /postfix
|
||||
;;&
|
||||
mysql|all)
|
||||
|
@ -124,9 +124,9 @@ function backup() {
|
|||
echo "Using SQL image ${SQLIMAGE}, starting..."
|
||||
docker run --name mailcow-backup --rm \
|
||||
--network $(docker network ls -qf name=${CMPS_PRJ}_mailcow-network) \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:ro \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:ro,z \
|
||||
--entrypoint= \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup \
|
||||
-v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
|
||||
${SQLIMAGE} /bin/sh -c "mariabackup --host mysql --user root --password ${DBROOT} --backup --rsync --target-dir=/backup_mariadb ; \
|
||||
mariabackup --prepare --target-dir=/backup_mariadb ; \
|
||||
chown -R 999:999 /backup_mariadb ; \
|
||||
|
@ -158,8 +158,8 @@ function restore() {
|
|||
vmail)
|
||||
docker stop $(docker ps -qf name=dovecot-mailcow)
|
||||
docker run -it --name mailcow-backup --rm \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail:z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_vmail.tar.gz
|
||||
docker start $(docker ps -aqf name=dovecot-mailcow)
|
||||
echo
|
||||
|
@ -177,32 +177,32 @@ function restore() {
|
|||
redis)
|
||||
docker stop $(docker ps -qf name=redis-mailcow)
|
||||
docker run -it --name mailcow-backup --rm \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis:z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_redis.tar.gz
|
||||
docker start $(docker ps -aqf name=redis-mailcow)
|
||||
;;
|
||||
crypt)
|
||||
docker stop $(docker ps -qf name=dovecot-mailcow)
|
||||
docker run -it --name mailcow-backup --rm \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt:z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_crypt.tar.gz
|
||||
docker start $(docker ps -aqf name=dovecot-mailcow)
|
||||
;;
|
||||
rspamd)
|
||||
docker stop $(docker ps -qf name=rspamd-mailcow)
|
||||
docker run -it --name mailcow-backup --rm \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd:z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_rspamd.tar.gz
|
||||
docker start $(docker ps -aqf name=rspamd-mailcow)
|
||||
;;
|
||||
postfix)
|
||||
docker stop $(docker ps -qf name=postfix-mailcow)
|
||||
docker run -it --name mailcow-backup --rm \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix:z \
|
||||
${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_postfix.tar.gz
|
||||
docker start $(docker ps -aqf name=postfix-mailcow)
|
||||
;;
|
||||
|
@ -230,17 +230,17 @@ function restore() {
|
|||
#docker stop $(docker ps -qf name=mysql-mailcow)
|
||||
if [[ -d "${RESTORE_LOCATION}/mysql" ]]; then
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:rw \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:rw,z \
|
||||
--entrypoint= \
|
||||
-v ${RESTORE_LOCATION}/mysql:/backup \
|
||||
-v ${RESTORE_LOCATION}/mysql:/backup:z \
|
||||
${SQLIMAGE} /bin/bash -c "shopt -s dotglob ; /bin/rm -rf /var/lib/mysql/* ; rsync -avh --usermap=root:mysql --groupmap=root:mysql /backup/ /var/lib/mysql/"
|
||||
elif [[ -f "${RESTORE_LOCATION}/backup_mysql.gz" ]]; then
|
||||
docker run \
|
||||
-it --name mailcow-backup --rm \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/ \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:z \
|
||||
--entrypoint= \
|
||||
-u mysql \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
${SQLIMAGE} /bin/sh -c "mysqld --skip-grant-tables & \
|
||||
until mysqladmin ping; do sleep 3; done && \
|
||||
echo Restoring... && \
|
||||
|
@ -248,9 +248,9 @@ function restore() {
|
|||
mysql -uroot -e SHUTDOWN;"
|
||||
elif [[ -f "${RESTORE_LOCATION}/backup_mariadb.tar.gz" ]]; then
|
||||
docker run --name mailcow-backup --rm \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/backup_mariadb/:rw \
|
||||
-v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/backup_mariadb/:rw,z \
|
||||
--entrypoint= \
|
||||
-v ${RESTORE_LOCATION}:/backup \
|
||||
-v ${RESTORE_LOCATION}:/backup:z \
|
||||
${SQLIMAGE} /bin/bash -c "shopt -s dotglob ; \
|
||||
/bin/rm -rf /backup_mariadb/* ; \
|
||||
/bin/tar -Pxvzf /backup/backup_mariadb.tar.gz"
|
||||
|
|
Loading…
Reference in New Issue