From 7d2eda6a03ab5fd1faec8eb6b74cb09491394cb7 Mon Sep 17 00:00:00 2001 From: battilo Date: Wed, 20 Sep 2017 00:01:10 +0200 Subject: [PATCH] modifiche per aggiungere backupa crontab --- SetupNewComp.pl | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/SetupNewComp.pl b/SetupNewComp.pl index 5b640f9..e854641 100755 --- a/SetupNewComp.pl +++ b/SetupNewComp.pl @@ -22,8 +22,11 @@ my ( $company_db_name, $company_db_user, $company_db_pwd ); my ( $company_os_user, $company_os_pwd ); my $company_os_grp = '1005'; #group aseuser -sub getTimeStamp -{ # parm [ts] => timestamp for filename; [log] => timestamp for log; [db_ts] => timestamp for db; +sub getTimeStamp { + + #parm [ts] => timestamp for filename + # [log] => timestamp for log + # [db_ts] => timestamp for db; my $format = "%04d%02d%02d%02d%02d%02d"; my ($p1) = @_; if ( defined $p1 and $p1 eq "log" ) { @@ -383,6 +386,26 @@ sub setCompanyOSSet { . $company_os_user . "\n"; } + print getTimeStamp("log") + . " - pid $$ >> Create mysql asepath for os user.\n"; + my @args = ( +"/bin/su -c 'mysql_config_editor set --login-path=asepath --host=localhost --user=root --password' - " + . $company_os_user ); + system(@args) == 0 + or die( getTimeStamp("log") . " - pid $$ >> system @args failed: $?\n" ); + + print getTimeStamp("log") . " - pid $$ >> Add crontab db backup.\n"; + open my $fh, "| crontab -u $company_os_user -" + or die( getTimeStamp("log") . " - pid $$ >> Can't open crontab: $!" ); + my $cron = qx(crontab -l); + print $fh +"$cron\n0 1 * * * /usr/bin/mysqldump --login-path=asepath --net_buffer_length=4096 " + . $company_db_name + . " | /bin/bzip2 -c > /home/asega/db_dumps/backup-" + . $company_db_name + . "-\$(\$TIMESTAMP).sql.bz2 2>> /home/asega/log/dump_db.log"; + close $fh; + return 1; }