Changes

User:Pat

2,929 bytes added, 10:54, 19 December 2013
/* ASCII generator */
/____/\__/\____/_/ /_/\___/\__, / \___/_/\____/\__,_/\__,_/
/____/
</pre>
 
<pre>
__ __ __
_____ / /_ ____ ____ ___ __ __ _____ / /____ __ __ ____/ /
/ ___// __// __ \ / __ \ / _ \ / / / / / ___// // __ \ / / / // __ /
(__ )/ /_ / /_/ // / / // __// /_/ / / /__ / // /_/ // /_/ // /_/ /
/____/ \__/ \____//_/ /_/ \___/ \__, / \___//_/ \____/ \__,_/ \__,_/
/____/
 
</pre>
== State of the art ==
* prov-backup-rsnapshot
** The prov-backup-rsnapshot rsnatheot deamon is finished. There is only one thing left to do which is to create the bash script which creates the chroot environment, see [[prov-backup-rsnapshot#ToDos]]
** The daemon can be installed and tested according to [[Backup_(Server_Setup)#prov-backup-rsnapshot]] (don't forget [[Backup_(Server_Setup)#prov-backup-rsnapshot]])
* rsnapshot
*** Add the the following line to the replace variables in the sendmail subroutine of the scheduleWarning.pl script (around line 1429):
*** <pre>externalID => $external_ID,</pre>
** Add the subject to all the mail tempaltes. Add the following line at the very top of the template:
*** <pre>Subject: <YOUR-MAIL-SUBJECT></pre>
** The script can be installed according to [[Backup_(Server_Setup)#schedule_warning]] (don't forget [[Backup_(Server_Setup)#prov-backup-rsnapshot]])
* Backup helper scripts
** The writeAccontSize.pl is adapted to the new LDAP directory. It reads and writes quota values and thresholds from/to the LDAP and gets the path to the mail templates from the LDAP
** Add the mail subject to the mail templates for the quota warning mails:
*** Add the following line at the very top of the template
*** <pre>Subject: <YOUR-MAIL-SUBJECT></pre>
** A script (and cronjob) which executes two commands each night is still missing and needs to be implemented. It must do an LDAP search and get all active backup account (search under <code>ou=accounts,ou=backup,ou=services,dc=foss-cloud,dc=org</code> for <code>objectClass=sstBackup</code> and <code>sstIsActive=TRUE</code>). Read the necessary attributes from these accounts and execute the following commands:
*** <code>/<path/to>/writeAccountSize.pl -C /<path/to>/writeAccountSize.conf -D <home directory> -U <UID></code>
=== prov-backup-rsnapshot ===
See [[prov-backup-rsnapshot]]
 
=== rsnapshot ===
This script executes the very basic rsnapshot command for each user which wants to have a snapshot for the given interval. This script takes as input parameter <code>--interval</code> where you can specify the following intervals:
* hourly
* daily
* weekly
* monthly
* yearly
 
It is basically just a wrapper around the rsnapshot command for the given interval. It does an LDAP lookup and collects all users which want to have a rsnapshot made for the given interval. For all the collected users, the rsnapshot command for the given interval is executed.
 
A crojob for the daily, weekly and monthly rnspashots is created on the [[Backup_(Server_Setup)|Test-Backup-Server]]
 
'''Important:''' As stated above, on the Test-Backup-Server the command are just printed to STDOUT instead of really being exceuted. 4
 
==== Configuration ====
<pre>
[General]
MaxParallelProcesses = # How many rsnapshot processes you want to have in parallel
# The basic rsnapshot command, the %uid% and %interval% will be replaced by the script
Rsnapshot_command = /usr/bin/nice -n 19 /usr/bin/rsnapshot -c /etc/rsnapshot/rsnapshot.conf.%uid% %interval%
 
[LDAP]
Host = # URI of the LDAP server
Port = # Port of the LDAP server
User = # Username to bind to the LDAP server
Password = # Password for the given user
CA_Path = # Directory containing the CA for the given LDAP server
Accounts_Base = # Base dn to the backup accouts
</pre>
=== scheduleWarning.pl ===
The scheduleWarning.pl is executed once a day for every (active) backup account in the LDAP directory. It compares the the scheduled backups with the backups which were really written and send the user a mail, if something is not as it should be. Every reseller can define its proper text (template) and store it on the filesystem. The path to the template is stored in the LDAP directory (see [[]]). The scheduleWarning.pl script reads these values and then open the appropriate template. In this template the following placeholders are replaced:
* {$salutation} => Salutation: "Sehr geehrter Herr" / "Dear Mrs."* {$surname} => Surname of the backup account owner* {$scheduled_date} => The scheduled date of the backup that did not succeed* {$scheduled_time} => The scheduled time of the backup that did not succeed* {$gecos} => The gecos of the backup that did not succeed* {$computer} => The computer name from which the backup did not succeed* {$last_success} => The date and time of the last successful backup
* {$uid} => The backups UID
All placeholders are language depended.
from = # From which the mail comes from if nothing is found in the LDAP
</pre>
 
=== writeAccountSize.pl ===
This is just an adaption of the [https://int.stepping-stone.ch/wiki/writeAccountSize.pl writeAccountSize.pl script]. The following modifications were done:
* Write quota values also to the LDAP directory
* Using new the Net::SMTPS lib to send the mails
* Generate the mail text according to the templates specified by the reseller in the LDAP
* Using a library to fill in the templates
 
'''Important:''' On the Test-Backup-Server the script returns a dummy quota, because it the quota command does not work yet. But if you install it from scratch it will get the correct quota. To change the behaviour on the LDAP server, uncomment the "getQuotaSize" method starting at line 512.
SLB, editor, reviewer
3,368
edits