صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 28

موضوع: ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

  1. #1
    عضو انجمن
    تاریخ عضویت
    Jul 2011
    نوشته ها
    137
    تشکر تشکر کرده 
    23
    تشکر تشکر شده 
    171
    تشکر شده در
    143 پست

    پیش فرض ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    کد:
    <?php
        function backup_db($host, $user, $pass, $name, $tables = '*') {
            date_default_timezone_set('Asia/Tehran');
       
            $return = '';
       
            mysql_connect($host,$user,$pass) or die('Connection error');
            mysql_select_db($name) or die('Database error');
            mysql_query('SET NAMES \'utf8\'');
            mysql_set_charset('utf8');
       
            if($tables == '*') {
                $tables = array();
                $result = mysql_query('SHOW TABLES');
                while($row = mysql_fetch_row($result)) {
                    $tables[] = $row[0];
                }
                mysql_free_result($result);
            }
            else {
                $tables = is_array($tables) ? $tables : explode(',', $tables);
            }
       
            foreach($tables as $table) {
                $result = mysql_query('SELECT * FROM `'.$table.'`');
                $num_fields = mysql_num_fields($result);
                $return .= 'DROP TABLE IF EXISTS `'.$table.'`;'.PHP_EOL.PHP_EOL;
                $row = mysql_fetch_row(mysql_query('SHOW CREATE TABLE `'.$table.'`'));
                $return .= $row[1].';'.PHP_EOL.PHP_EOL;
       
                for ($i = 0; $i < $num_fields; $i++) {
                    while($row = mysql_fetch_row($result)) {
                        $return.= 'INSERT INTO `'.$table.'` VALUES(';
                        for($j = 0; $j < $num_fields; $j++) {
                            $row[$j] = addslashes($row[$j]);
                            $row[$j] = str_replace('\n', '\\n', $row[$j]);
                            if (isset($row[$j])) {
                                $return .= '\''.$row[$j].'\'';
                            }
                            else {
                                $return .= '\'\'';
                            }
                            if ($j < ($num_fields - 1)) {
                                $return .= ',';
                            }
                        }
                        $return .= ');'.PHP_EOL;
                    }
                }
                $return .= PHP_EOL.PHP_EOL.PHP_EOL;
            }
        file_put_contents('db_backup.sql',$return);
        }
     
    backup_db('localhost', '*****', '*******', '******'); 
    function mail_attachment($filename, $path, $mailto, $from_mail, $from_name,  $subject, $message) {
        $file = $path.$filename;
        $file_size = filesize($file);
        $handle = fopen($file, "r");
        $content = fread($handle, $file_size);
        fclose($handle);
        $content = chunk_split(base64_encode($content));
        $uid = md5(uniqid(time()));
        $name = basename($file);
        $header = "From: ".$from_name." <".$from_mail.">\r\n";
        $header .= "Reply-To: ".$from_mail."\r\n";
        $header .= "MIME-Version: 1.0\r\n";
        $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
        $header .= "This is a multi-part message in MIME format.\r\n";
        $header .= "--".$uid."\r\n";
        $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
        $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        $header .= $message."\r\n\r\n";
        $header .= "--".$uid."\r\n";
        $header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; // use different content types here
        $header .= "Content-Transfer-Encoding: base64\r\n";
        $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
        $header .= $content."\r\n\r\n";
        $header .= "--".$uid."--";
        if (mail($mailto, $subject, "", $header)) {
            echo "mail send ... OK"; // or use booleans here
        } else {
            echo "mail send ... ERROR!";
        }
    }
    $my_file = "db_backup.sql";
    $my_path = $_SERVER['DOCUMENT_ROOT']."/";
    $my_name = "raj";
    $my_mail = "info@domain.com";
    $my_subject = "Email Subject ";
    $my_message = "Refer the attached file.";
    $to_email="civilparto@yahoo.com";
      
    mail_attachment($my_file, $my_path, $to_email, $my_mail, $my_name, $my_subject, $my_message);
    unlink('db_backup.sql');
    ?>
    دوستان وقتی فایل مربوطه رو اجرا میکنیم فایل بک اپ دیتابیس به راحتی ایمیل میشه و به صورت صحیح
    اما وقتی تو کرون جاب اجراش میکنیم فایل رو خالی میفرسته .
    اگر دوستان میتونن کمک کنن ممنون میشم

    تلگرام : @ruhyshujy



  2. # ADS




     

  3. #2
    عضو انجمن hamid.soltani92 آواتار ها
    تاریخ عضویت
    Sep 2009
    نوشته ها
    930
    تشکر تشکر کرده 
    1,059
    تشکر تشکر شده 
    4,464
    تشکر شده در
    1,721 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    سلام، سطح دسترسی فایلتون رو بررسی کنید. عموما این مشکل از این مورد هست.
    در صورتی که برطرف نشد، از wget یا curl استفاده کنید.
    موفق باشید.

  4. تعداد تشکر ها از hamid.soltani92 به دلیل پست مفید


  5. #3
    عضو انجمن
    تاریخ عضویت
    Jul 2011
    نوشته ها
    137
    تشکر تشکر کرده 
    23
    تشکر تشکر شده 
    171
    تشکر شده در
    143 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    ممنون با کرل مشکلم حل شد

    تلگرام : @ruhyshujy



  6. #4
    کاربر اخراج شده
    تاریخ عضویت
    May 2013
    نوشته ها
    113
    تشکر تشکر کرده 
    25
    تشکر تشکر شده 
    38
    تشکر شده در
    30 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    دوست عزیز دستور کرون جاب رو که صحیح کار کرد رو برای منم بفرست بی زحمت.ممنونم.

    - - - Updated - - -

    الان خود فایل رو هم که اجرا میکنیم باز خالی هست داخل ایمیل.دلیلش چی هست؟

  7. #5
    عضو انجمن
    تاریخ عضویت
    Jul 2011
    نوشته ها
    137
    تشکر تشکر کرده 
    23
    تشکر تشکر شده 
    171
    تشکر شده در
    143 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    backup_db('localhost', '*****', '*******', '******');

    مشخصات دیتابیس رو وارد کردید ؟
    curl http://wwwdomain.com/file.php
    این هم دستور

    تلگرام : @ruhyshujy



  8. تعداد تشکر ها از ruhy به دلیل پست مفید


  9. #6
    کاربر اخراج شده
    تاریخ عضویت
    May 2013
    نوشته ها
    113
    تشکر تشکر کرده 
    25
    تشکر تشکر شده 
    38
    تشکر شده در
    30 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    بله اطلاعات دیتابیس رو وارد کردم.اما اجرا که میکنم ایمیل میکنه ولی داخل فایل db_backup.sql خالی هست!!

  10. #7
    عضو انجمن
    تاریخ عضویت
    Jul 2011
    نوشته ها
    137
    تشکر تشکر کرده 
    23
    تشکر تشکر شده 
    171
    تشکر شده در
    143 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    من فایلم رو در روت قرار دادم
    $my_path = $_SERVER['DOCUMENT_ROOT']."/";

    اگر شما تو پوشه قرار دادید مسیر درست بهش بدید
    الان من دقیقا همین فانکشن ها رو استفاده میکنم و خیلی تمییز دیتابیس رو بهم میده

    تلگرام : @ruhyshujy



  11. #8
    کاربر اخراج شده
    تاریخ عضویت
    May 2013
    نوشته ها
    113
    تشکر تشکر کرده 
    25
    تشکر تشکر شده 
    38
    تشکر شده در
    30 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    جناب فایل من داخل روت نیستش.داخل فولدر file/host قرار دادم.چطوری باید آدرس دهی کنم؟

  12. #9
    عضو انجمن
    تاریخ عضویت
    Jul 2011
    نوشته ها
    137
    تشکر تشکر کرده 
    23
    تشکر تشکر شده 
    171
    تشکر شده در
    143 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    خدمت شما
    $my_path = $_SERVER['DOCUMENT_ROOT']."/file/host";

    تلگرام : @ruhyshujy



  13. #10
    کاربر اخراج شده
    تاریخ عضویت
    May 2013
    نوشته ها
    113
    تشکر تشکر کرده 
    25
    تشکر تشکر شده 
    38
    تشکر شده در
    30 پست

    پیش فرض پاسخ : ارسال بک اپ دیتابیس به ایمیل توسط کرون جاب

    نقل قول نوشته اصلی توسط ruhy نمایش پست ها
    خدمت شما
    مسیردهی اشتباه هست دوست عزیز.فایل درست کار میکنه ها.چون تو روت میزارم درست میفرسته ایمیل رو.اما مجبورم نزارم تو روت باشه.میخوام داخل فایل فوق باشه.الان مثل دستور شما قرار دادم.اما خالیه بازم فاایلی که ارسال میکنه.

صفحه 1 از 3 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: August 8th, 2014, 14:17
  2. عدم ارسال بک آپ دیتابیس توسط whmcs
    توسط aghayegol در انجمن سوالات و مشکلات
    پاسخ ها: 6
    آخرين نوشته: March 17th, 2014, 22:44
  3. پاسخ ها: 0
    آخرين نوشته: July 24th, 2013, 01:00
  4. پاسخ ها: 2
    آخرين نوشته: December 15th, 2012, 03:39
  5. پاسخ ها: 9
    آخرين نوشته: June 18th, 2012, 17:30

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •