systemtek Posted August 3, 2006 Share Posted August 3, 2006 Hi AllI am trying to setup a cron to run dbsender.php, i get the following error email back when it tried to run, it also puts this in the error log in the /home/systemte/public_html/dbsender directory. Any ideas ? I dont own the server. ??[03-Aug-2006 18:00:01] PHP Warning: passthru() has been disabled for security reasons in /home/systemte/public_html/dbsender/dbsender.php on line 50[03-Aug-2006 18:00:02] PHP Warning: filetype(): Lstat failed for (null) (errno=2 - No such file or directory) in /home/systemte/public_html/dbsender/dbsender.php on line 72[03-Aug-2006 18:00:02] PHP Warning: fopen(/home/systemtek/public_html/dbsender/systemte_phpbb1-080306-0600pm_sql.tar.gz): failed to open stream: No such file or directory in /home/systemte/public_html/dbsender/dbsender.php on line 80[03-Aug-2006 18:00:02] PHP Warning: filesize(): Stat failed for /home/systemtek/public_html/dbsender/systemte_phpbb1-080306-0600pm_sql.tar.gz (errno=2 - No such file or directory) in /home/systemte/public_html/dbsender/dbsender.php on line 81[03-Aug-2006 18:00:02] PHP Warning: fread(): supplied argument is not a valid stream resource in /home/systemte/public_html/dbsender/dbsender.php on line 81[03-Aug-2006 18:00:02] PHP Warning: fclose(): supplied argument is not a valid stream resource in /home/systemte/public_html/dbsender/dbsender.php on line 82 Quote Link to comment Share on other sites More sharing options...
Orio Posted August 3, 2006 Share Posted August 3, 2006 Can you post the script please?Orio. Quote Link to comment Share on other sites More sharing options...
AndyB Posted August 3, 2006 Share Posted August 3, 2006 "passthru() has been disabled for security reasons" seems fairly specific. Talk to your host and/or revise the script you're trying to run. Quote Link to comment Share on other sites More sharing options...
systemtek Posted August 3, 2006 Author Share Posted August 3, 2006 #!/usr/local/bin/php <?php // configure your database variables below: $dbhost = 'localhost'; // Server address of your MySQL Server $dbuser = 'XXXXX'; // Username to access MySQL database $dbpass = 'XXXXX'; // Password to access MySQL database $dbname = 'systemte_phpbb1'; // Database Name // Optional Options You May Optionally Configure $use_gzip = "yes"; // Set to No if you don't want the files sent in .gz format $remove_sql_file = "yes"; // Set this to yes if you want to remove the .sql file after gzipping. Yes is recommended. $remove_gzip_file = "no"; // Set this to yes if you want to delete the gzip file also. I recommend leaving it to "no" // Configure the path that this script resides on your server. $savepath = "/home/systemtek/public_html/dbsender"; // Full path to this directory. Do not use trailing slash! $send_email = "yes"; // Do you want this database backup sent to your email? Fill out the next 2 lines $to = "admin@XXXXXX.co.uk"; // Who to send the emails to $from = "admin@XXXXXX.co.uk"; // Who should the emails be sent from? $senddate = date("j F Y"); $subject = "MySQL Database Backup - $senddate"; // Subject in the email to be sent. $message = "Your MySQL database has been backed up and is attached to this email"; // Brief Message. $use_ftp = "no"; // Do you want this database backup uploaded to an ftp server? Fill out the next 4 lines $ftp_server = "localhost"; // FTP hostname $ftp_user_name = "ftp_username"; // FTP username $ftp_user_pass = "ftp_password"; // FTP password $ftp_path = "/"; // This is the path to upload on your ftp server! // Do not Modify below this line! It will void your warranty! $date = date("mdy-hia"); $filename = "$savepath/$dbname-$date.sql"; passthru("mysqldump --opt -h$dbhost -u$dbuser -p$dbpass $dbname >$filename"); if($use_gzip=="yes"){ $zipline = "tar -czf ".$dbname."-".$date."_sql.tar.gz $dbname-$date.sql"; shell_exec($zipline); } if($remove_sql_file=="yes"){ exec("rm -r -f $filename"); } if($use_gzip=="yes"){ $filename2 = "$savepath/".$dbname."-".$date."_sql.tar.gz"; } else { $filename2 = "$savepath/$dbname-$date.sql"; } if($send_email == "yes" ){ $fileatt_type = filetype($filename2); $fileatt_name = "".$dbname."-".$date."_sql.tar.gz"; $headers = "From: $from"; // Read the file to be attached ('rb' = read binary) $file = fopen($filename2,'rb'); $data = fread($file,filesize($filename2)); fclose($file); // Generate a boundary string $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Add the headers for a file attachment $headers .= "\nMIME-Version: 1.0\n" ."Content-Type: multipart/mixed;\n" ." boundary=\"{$mime_boundary}\""; // Add a multipart boundary above the plain message $message = "This is a multi-part message in MIME format.\n\n" ."--{$mime_boundary}\n" ."Content-Type: text/plain; charset=\"iso-8859-1\"\n" ."Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; // Base64 encode the file data $data = chunk_split(base64_encode($data)); // Add file attachment to the message $message .= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name=\"{$fileatt_name}\"\n" ."Content-Disposition: attachment;\n" ." filename=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" ."--{$mime_boundary}--\n"; // Send the message $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<h4><center>Database backup created and sent! File name $filename2</center></h4>"; } else { echo "<h4><center>Mail could not be sent. Sorry!</center></h4>"; } } if($use_ftp == "yes"){ $ftpconnect = "ncftpput -u $ftp_user_name -p $ftp_user_pass -d debsender_ftplog.log -e dbsender_ftplog2.log -a -E -V $ftp_server $ftp_path $filename2"; shell_exec($ftpconnect); echo "<h4><center>$filename2 Was created and uploaded to your FTP server!</center></h4>"; } if($remove_gzip_file=="yes"){ exec("rm -r -f $filename2"); } ?> Quote Link to comment Share on other sites More sharing options...
systemtek Posted August 3, 2006 Author Share Posted August 3, 2006 I have just found out from my host that passthru and system is disabled in server, is there any way around this for the above script ? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.