.. Reminder for header structure: Level 1: ==================== Level 2: -------------------- Level 3: ++++++++++++++++++++ Level 4: """""""""""""""""""" Level 5: ^^^^^^^^^^^^^^^^^^^^ .. meta:: :description: Configuring the backup jobs :keywords: Documentation, TISBackup, configuration, backup jobs .. |clap| image:: tisbackup-resources/clapping-hands-microsoft.png :scale: 50% :alt: Clapping hands Configuring the backup jobs =========================== .. _configuring_backup_jobs: The configuration of the backups is done in an :mimetype:`.ini` file, by default :file:`/etc/tis/tisbackup-config.ini`: * a global section where general parameters are specified; * then for each backup a section will be created; [global] section ---------------- Here are the mandatory parameters of the global section. * the beginning of the global section starts with: .. code-block:: ini [global] * specify directory where to store backups: .. code-block:: ini backup_base_dir = /backup/data/ * define the maximum age of the backups (variable used by the cleanup function): .. code-block:: ini backup_retention_time=140 * define the maximum time in hours between each backup. When this time is exceeded, then :program:`checknagios` goes critical: .. code-block:: ini maximum_backup_age=30 Another non-mandatory parameter allows to define the rsync compression level: ``compression_level=7``. Backup types ------------ .. note:: to test with a Windows box Globally, the backups are done through an SSH connection and the steps are: * creating the **section** in the configuration file; * installing ssh on the Linux client; * making an ssh key exchange between the tisbackup server and the client to back up; Here are the different types of backup possible with :program:`tisbackup`. Backing up a MySQL database +++++++++++++++++++++++++++ .. code-block:: ini [srvintranet_mysql_mediawiki] type=mysql+ssh server_name=srvintranet private_key=/root/.ssh/id_dsa db_name=mediawiki db_user=user db_passwd=password Mandatory parameters: * ``[srvintranet_mysql_mediawiki]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``private_key``: defines the name of the private key to be used to connect to the client; * ``db_name``: defines the name of the database to dump; * ``db_user``: defines the name of a user with the right to dump on the basis of; * ``db_passwd``: defines the user's password; Backing up a PostgreSQL database ++++++++++++++++++++++++++++++++ .. code-block:: ini [srvasterisk-pgsql] type=pgsql+ssh server_name=srvasterisk private_key=/root/.ssh/id_rsa db_name=asterisk Mandatory parameters: * ``[srvasterisk-pgsql]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``private_key``: defines the name of the private key to be used to connect to the client; * ``db_name``: defines the name of the database to dump; Backing up a file server ++++++++++++++++++++++++ .. code-block:: ini [srvfiles-home] type=rsync+ssh server_name=srvfiles remote_dir=/home private_key=/root/.ssh/id_dsa exclude_list=".mozilla",".thunderbird",".x2go","*.avi" bwlimit = 100 Mandatory parameters: * ``[srvfiles-home]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``remote_dir``: defines the folder on the remote host to backup; * ``private_key``: defines the name of the private key to be used to connect to the client; .. attention:: In case of Windows client, specificities are to be expected: By default we use the root user for backups, for windows we will use the Administrator account (pay attention to the sensitive box). .. code-block:: ini remote_user=Administrator Through :program:`cygwin`, the directory to be backed up will always start with :file:`/cygdrive`, so it must be specified in the ``remote_dir`` parameter. .. code-block:: ini remote_dir=/cygdrive/c/WINDOWS/ .. hint:: Other non-mandatory parameters can be used. The ``listdrivers`` option allows you to see them. The two most frequently used parameters are: * ``exclude_list``: defines the files to be excluded from the backup; * ``bwlimit``: defines the maximum speed of the backup; Backing up a XenCenter virtual machine ++++++++++++++++++++++++++++++++++++++ On local storage """""""""""""""" .. code-block:: ini [wsmanage] type=xen-xva xcphost=srvxen1 server_name=wsmanage password_file=/root/xen_passwd backup_retention_time=2 halt_vm=True enable_https=False Mandatory parameters: * ``[wsmanage]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``xcphost``: defines the XCP server where the VM is found by its DNS name or IP; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``password_file``: defines a file where are stored the user and the password to be used for exporting the :mimetype:`.xva` file; * ``backup_retention_time``: defines the maximum number of exports for the virtual machine; * ``halt_vm``: **True** = stop the virtual machine then export, **False** = snapshot the virtual machine then export the :file:`xva` without stopping the virtual machine; * ``enable_https``: activate or deactivate https protocol for transfer; On remote storage """"""""""""""""" .. code-block:: ini [srvads-copy] type=copy-vm-xcp server_name=srvxen1 vm_name=srvads storage_name=iscsi-sr1 password_file=/root/xen_passwd network_name=test-dcardon max_copies=3 Mandatory parameters: * ``[srvads-copy]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``vm_name``: defines the virtual machine to be backed up (its name-label in XCP); * ``storage_name``: defines the storage to where to copy the virtual machine (its name-label in XCP); * ``password_file``: defines a file where are stored the user and the password to be used for exporting the :mimetype:`.xva` file; * ``network_name``: defines the network to which to copy the VM (its name-label in XCP); * ``max_copies``: maximum number of exports for the virtual machine; XenCenter metadata """""""""""""""""" .. code-block:: ini [srvxen1-metadata] type=xcp-dump-metadata server_name=srvxen1 password_file=/root/xen_passwd Mandatory parameters: * ``[srvxen1-metadata]``: name of the section starts with the name you give to it; * ``type``: specifies the backup type for the Mysql database dump; * ``server_name``: defines the server to be backed up by its DNS name or IP address; * ``password_file``: defines a file where are stored the user and the password to be used for exporting the :mimetype:`.xva` file; .. attention:: For maximum security put the password file in the root directory with read-write access only for it. .. code-block:: bash vi /root/xen_passwd example of the content of the file: .. code-block:: ini user password implementation of restricted rights .. code-block:: bash chmod 600 /root/xen_passwd