wetddump.deb/usr/share/wetddump/functions.php
2017-01-09 15:22:00 +01:00

76 lines
1.6 KiB
PHP

<?php
function log_($message, $log)
{
$message = sprintf('[%s] %s', date('Y-m-d H:i:s'), trim($message)).PHP_EOL;
echo $message;
file_put_contents($log, $message, FILE_APPEND);
}
function exec_($cmd)
{
return shell_exec($cmd);
}
function __autoload($class_name)
{
require sprintf('/usr/share/wetddump/%s.class.php', $class_name);
}
function getMysqldumpUser()
{
return 'debian-sys-maint';
}
function getMysqldumpPassword()
{
return trim(shell_exec('grep password /etc/mysql/debian.cnf | egrep -v "^#" | head -n 1 | sed "s/password = //"'));
}
function getMysqlDatabases()
{
mysql_connect('localhost', getMysqldumpUser(), getMysqldumpPassword()) or die(mysql_error());
$results = mysql_query('SHOW DATABASES');
$bases = array();
while ($fetch = mysql_fetch_array($results)) {
$bases[] = $fetch[0];
}
return $bases;
}
function getMysqldumpCmd($db, $options, $output)
{
$cmd = sprintf(
'mysqldump -u%s -p%s %s %s | gzip -9 > %s',
getMysqldumpUser(), getMysqldumpPassword(), $options, $db,
$output
);
return $cmd;
}
function getMysqlPrivilegesDumpCmd($output)
{
$cmd = sprintf(
'wetddump-mysql-privileges -u%s -p%s > %s',
getMysqldumpUser(), getMysqldumpPassword(), $output
);
return $cmd;
}
function getMongodumpCmd($username, $password, $options, $output)
{
$cmd = sprintf(
'mongodump %s %s %s --out %s',
!empty($username) ? '-u '.escapeshellarg($username) : '',
!empty($password) ? '-p '.escapeshellarg($password) : null,
$options,
$output
);
return $cmd;
}