使用方法:
./bk_user.php mysql_user:mysql_pass username
#!/usr/bin/php -q
<?php
if (empty($argv[1]) || empty($argv[2])) exit("no args!\r\n");
$temp = explode(":", trim($argv[1]));
$user = trim($argv[2]);
if (!file_exists("/home/$user")) exit("/home/$user not found!\r\n");
$tempdir = "/tmp/{$user}_bak_temp";
@mkdir($tempdir);
$mysql_user = $temp[0];
$mysql_pass = $temp[1];
$m = @mysql_connect("localhost", $mysql_user, $mysql_pass) or die("wrong mysql paras!\r\n");
$r =mysql_list_dbs($m);
while ($rs = mysql_fetch_array($r)) {
//echo $rs['Database'].'........................';
//echo strpos($rs['Database'], $user).'//////////';
if (strpos($rs['Database'], $user) === 0) {
$db = $rs['Database'];
$res = shell_exec("mysqldump -u{$mysql_user} -p{$mysql_pass} $db > {$tempdir}/{$db}.sql");
}
}
shell_exec("tar zcvf {$tempdir}/{$user}_homedir.tar.gz /home/{$user} > /dev/null");
shell_exec("tar zcvf /home/{$user}_bak_".time().".tar.gz {$tempdir} > /dev/null");
shell_exec("rm -rf $tempdir > /dev/null");