使用方法:
./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");