> (you don't have to strictly follow this form)

**Use case**

Sometimes, for really sophisticated scenarios it can be hard to control the amount of in-progress backups run externally. For the purpose of simpler control we can introduce server-level setting which disallows running concurrent backups of any type. 

Something like this in `config.xml` (enabled by default):
`<allow_concurrent_backups>true</allow_concurrent_backups>`

**Describe the solution you'd like**

It's important that backups can be executed in distributed way on multiple servers. Need to take it into account.

**Describe alternatives you've considered**
External check of `system.backups` table, but it can be complex.

#endif
    mutable std::mutex auxiliary_zookeepers_mutex;
    mutable std::map<String, zkutil::ZooKeeperPtr> auxiliary_zookeepers;    
    ConfigurationPtr auxiliary_zookeepers_config;           
    String interserver_io_host;                             
    UInt16 interserver_io_port = 0;                         
    String interserver_scheme;                              
    MultiVersion<InterserverCredentials> interserver_io_credentials;
    String path;                                            
    String flags_path;                                      
    String user_files_path;                                 
    String dictionaries_lib_path;                           
    String user_scripts_path;                               
    ConfigurationPtr config;                                
    String tmp_path;                                        
    TemporaryDataOnDiskScopePtr temp_data_on_disk;          
    mutable std::unique_ptr<EmbeddedDictionaries> embedded_dictionaries;    
    mutable std::unique_ptr<ExternalDictionariesLoader> external_dictionaries_loader;
    scope_guard models_repository_guard;
    ExternalLoaderXMLConfigRepository * external_dictionaries_config_repository = nullptr;
    scope_guard dictionaries_xmls;
    mutable std::unique_ptr<ExternalUserDefinedExecutableFunctionsLoader> external_user_defined_executable_functions_loader;
    ExternalLoaderXMLConfigRepository * user_defined_executable_functions_config_repository = nullptr;
    scope_guard user_defined_executable_functions_xmls;
    mutable std::unique_ptr<IUserDefinedSQLObjectsLoader> user_defined_sql_objects_loader;
#if USE_NLP
    mutable std::optional<SynonymsExtensions> synonyms_extensions;
    mutable std::optional<Lemmatizers> lemmatizers;
#endif
    std::optional<BackupsWorker> backups_worker;