77 lines
2.1 KiB
Plaintext
77 lines
2.1 KiB
Plaintext
|
#!/usr/bin/php5
|
||
|
<?php
|
||
|
|
||
|
require_once '/usr/share/wetddump/functions.php';
|
||
|
|
||
|
mySfYaml::load('/etc/wetddump/mysql.yml');
|
||
|
|
||
|
$log = mySfYaml::get('settings_log', '/var/log/wetddump/mysql.log');
|
||
|
$dir = mySfYaml::get('settings_dir', '/var/wetddump/mysqldump');
|
||
|
|
||
|
if (!is_dir($dir)) {
|
||
|
$cmd = sprintf('mkdir -p %s', escapeshellarg($dir));
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
}
|
||
|
|
||
|
$cmd = sprintf('chdir %s', $dir);
|
||
|
log_($cmd, $log);
|
||
|
chdir($dir);
|
||
|
|
||
|
if (mySfYaml::get('settings_complete_enabled')) {
|
||
|
$cdir = mySfYaml::get('settings_complete_dir', 'complete/');
|
||
|
|
||
|
$cmd = sprintf('rm -rf %s', escapeshellarg($cdir));
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
|
||
|
$cmd = sprintf('mkdir -p %s', escapeshellarg($cdir));
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
|
||
|
$cmd = sprintf('rsync -avz --delete %s/* %s', mySfYaml::get('settings_mysql'), $cdir);
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
}
|
||
|
|
||
|
if (mySfYaml::get('settings_mysqldump_enabled')) {
|
||
|
$cdir = mySfYaml::get('settings_mysqldump_dir', 'sql/');
|
||
|
|
||
|
$cmd = sprintf('rm -rf %s', escapeshellarg($cdir));
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
|
||
|
$cmd = sprintf('mkdir -p %s', escapeshellarg($cdir));
|
||
|
log_($cmd, $log);
|
||
|
exec_($cmd);
|
||
|
|
||
|
$bases = getMysqlDatabases();
|
||
|
|
||
|
foreach ($bases as $k => $base) {
|
||
|
if (in_array($base, mySfYaml::get('settings_mysqldump_ignore_databases', array('information_schema')))) {
|
||
|
log_(sprintf('Ignore "%s"', $base), $log);
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$options = mySfYaml::get('settings_mysqldump_options', array());
|
||
|
|
||
|
if ($it = mySfYaml::get('settings_mysqldump_ignore_tables', array())) {
|
||
|
foreach ($it as $table) {
|
||
|
list($_base, $_table) = explode('.', $table);
|
||
|
|
||
|
if ($base == $_base) {
|
||
|
$options[] = sprintf('--ignore-table=%s', $table);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$cmd = getMysqldumpCmd($base, implode(' ', $options), sprintf('%s/dump.%s.%s.gz', $cdir, $base, date('Y-m-d')));
|
||
|
log_('Dump of '.$base, $log);
|
||
|
exec_($cmd);
|
||
|
}
|
||
|
|
||
|
$cmd = getMysqlPrivilegesDumpCmd(sprintf('%s/privileges.%s.sql', $cdir, date('Y-m-d')));
|
||
|
log_('Dump of privileges', $log);
|
||
|
exec_($cmd);
|
||
|
}
|