سلام
امكان بك آپ گيري اتوماتيك وجود داره؟
برنامه اي بجز smf java backup ميگم
چيزي كه يا هاست به هاست بك آپ بگيره از ديتابيس
يا اينكه ايميل كنه بك آپ ديتابيس رو
ممنون
يا علي
نمایش نسخه قابل چاپ
سلام
امكان بك آپ گيري اتوماتيك وجود داره؟
برنامه اي بجز smf java backup ميگم
چيزي كه يا هاست به هاست بك آپ بگيره از ديتابيس
يا اينكه ايميل كنه بك آپ ديتابيس رو
ممنون
يا علي
نه متاسفانه چنین امکانی وجود نداره
کار خیلی ساده ای هست :
چه SMF و چه مامبو یا هر پرتال یا ... دیگه
شما کافیه یک اسکریپت بنویسید که دیتابیس شما رو به ایمیل شما بفرسته ( 3-4 خط کد )
این اسکریپت رو در قسمت Cron Jobs سی پنل قرار بدید و تنظیم کنید که هر روز یا ... اجرا بشه
بدین ترتیب شما یک بکاپ اتوماتیک خواهید داشت
یاعلی
ممنون محسن جان :) لطف عظيمي كردي ;)
از طریق سی پنل یه جایی هست که میشه فول بک آپ گرفت و اون رو به ایمیل ارسال کرد
من هر چی ارسال می کنم چیزی باهاش attach نیست و فقط یک گزارش ساده هست
کیتونید منو راهنمایی کنید که چطور خود فایل رو هم به ایمیلم منتقل کنم ؟
دوست عزیز اگر اون قسمت رو بدقت مطالعه کنید نوشته که فقط گزارش رو ارسال میکنه
ضمن اینکه بیشتر از 5 مگابایت در سیستم ایمیل یک نامه HUGE حساب میشه!
شما این حجم (حتی 10 مگابایت) رو نمیتونید به هیچ وجه ارسال و دریافت کنید!!!
[quote author=فیروزمندان link=topic=7626.msg43524#msg43524 date=1185031798]
کار خیلی ساده ای هست :
چه SMF و چه مامبو یا هر پرتال یا ... دیگه
شما کافیه یک اسکریپت بنویسید که دیتابیس شما رو به ایمیل شما بفرسته ( 3-4 خط کد )
این اسکریپت رو در قسمت Cron Jobs سی پنل قرار بدید و تنظیم کنید که هر روز یا ... اجرا بشه
بدین ترتیب شما یک بکاپ اتوماتیک خواهید داشت
یاعلی
[/quote]
میشه همین 3 4 خط رو اینجا بذارید تا هم من هم باقی دوستان بتونیم ازش استفاده کنیم؟
( یه سئوال توی پرانتز : بک آپی که اینجوری گرفته میشه بک آپ کامل و مطمئنیه ؟؟ خصوصا برای Mambo و SMF ؟؟؟ )
سلام
من به زودي يه مقاله قرار ميدم :) ولي كدش رو هم تا امشب 1-2 ساعت ديگه براتون ميگذارم
بك آپ هاي من كه كامل بودن تا حالا :)
يا علي
سلام
اين كد هست
لطفا قسمت هايي كه **** xxxxxxx **** داره رو ويرايش كنيد.
سعي ميكنم به زودي يه مقاله كامل تو سايت قرار بدم
کد:<?php
$dbhost = '****localhost****';
$dbuser = '****user****';
$dbpass = '****password****';
$dbname = '****databasename****';
$savepath = "/home/****username****/backup_mysql";
$send_email = "yes";
$to = "YourEmail";
$from = "FromEmail";
$senddate = date("j F Y");
$subject = "Full backup of $dbname completed - $senddate";
$message = "See attached zip file for mysqldump of $dbname";
$use_gzip = "yes";
$remove_sql_file = "yes";
$remove_gzip_file = "yes";
// Do not Modify below this line! It will void your warranty! Nah, go crazy go nuts
$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($remove_gzip_file=="yes"){
exec("rm -r -f $filename2");
}
?>
موفق باشيد
*** اين كد رو من ننوشتم ولي يادم نيست الان از كجا گيرم اومده، هر كي نوشته خدا خيرش بده :)
به هر حال اگه اين كد به درد كسي خورد جاي تشكرش دعاي فرج بخونه ما هم مشكلاتمون با همون حل ميشه :)
يا علي
سلام
اي بابا! نشد ما يه پست كامل و درست حسابي بگذاريم
عزيز
رو هم ويرايش كنکد:$to = "YourEmail";
$from = "FromEmail";
يا علي
سلام ، مرسی حسین جان ، خدا خیرت بده ، هم به شما و هم اون بنده خدایی که این کد رو نوشته
حالا دو سئوال : یکی اینکه این کد رو توی Cron Job توی Command to run باید وارد کنیم ؟ و آخری هم اینکه برای اینکه از یه دیتابیس دیگه هم بک آپ گرفته بشه باید یه Cron job دیگه با مشخصات اون DB ایجاد کرد ؟
سلام، ممنون
اين كد رو ميگذاري تو فولدر /home/****username****/backup_mysql
با يه اسمي ضخيره ميكني
بعد اسم فايلش رو ميدي به اون command to run
بعدش تنظيمات رو انجام ميدي و ... حالشو ميبري
سوال دومت: آره ميتوني اين كارو بكني يا اينكه كد هاش رو تغيير بدي :)
ولي راه اول بهتره به نظر من
موفق باشي
يا علي
فولدر backup_mysql رو باید توی اولین صفحه ی FTP خودمون ایجاد کنیم ؟ گفتم صفحه ی اول FTP آخه توی Share Host دیگه بالاتر از این دسترسی محدوده و گفتم باید ایجاد کنیم چون توی صفحه ی اول FTP با این نام فولدری نیست و ظاهرا باید خودمون بسازیمش . آره؟
و اگه مورد بالا درسته ، من این کار رو کردم و همونطور که شما گفتی اسم اون فایل رو توی Command to run وارد کردم . اما بعد از اینکه cronjob اجرا شد ، ایمیل داد که این دستور پیدا نشد! مطمئنید اونجا باید فقط اسم این فال رو بزنیم؟؟ آدرسی ، دستوری چیزی؟؟
سلام
بله همونجا بايد بسازيد (همون سطحي كه public_html رو ميبينيد)
خوب شما دقيقا چه چيزي رو تو command to run داديد؟
راستي سطح دسترسي اون پوشه رو هم بايد 777 بگذاريد ها
اون خط دستور رو بگذاريد دوستان كمك ميكنند :)
يا علي
خوب ، من اون رو 777 کردم ، توی command to run هم همونطور که شما گفتید اسم فایل رو زدم ، یعنی cronjob.php ، اما این پیغام به ایمیلم میاد :
/bin/sh: line 1: cronjob.php: command not found
مطمئنا نباید اونجا فقط یه اسم خالی بنویسیم...
سلام
اين رو نگاه كن :)
يا عليکد:php /home/***hostname***/backup_mysql/backup_mysql1.php > /home/***hostname***/backup_mysql/backup_mysql1.log
من این رو هم زدم ، اما :
/bin/sh: line 1: /home/najvair/backup_mysql/backup_mysql1.log: No such
file or directory
یه چیزی ، این داره توی پوشه ی bin/sh نیگا می کنه خوب...
عزيزم
شما فايل backup_mysql1 داري؟
شما بايد اسم فايل backup خودت رو بزني :)
يا علي
حق با شمابود، شما درست گفتی ،اما من یه جور دیگه درک کردم . راستش یه فایل پیدا کردم توووپ ، همینایی رو که شما گفتی یه کم کامل تر توی یه PDF توضیح داده . می خواستم بذارمش اینجا اما امکان پیوست فایل نداره :(
البته من با اینکه مشکل اصلیم حل شد ، اما بازم یه مشکلاتی دارم که خودم حدس میزنم به خاطر محدودیتای سرور هست ، ببینم نظر شما چیه
راستش این فایل به ایمیلم ارسال شد ، اما حجمش 1 کیلو بایت بود فقط :o. توی اون پوشه backup_mysql یه فایل ایجاد شده بودبه نام backup_mysql.log . توی اون اینا بود :
Content-type: text/html
<br />
<b>Warning</b>: passthru() has been disabled for security reasons in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>27</b><br />
<br />
<b>Warning</b>: shell_exec() has been disabled for security reasons in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>31</b><br />
<br />
<b>Warning</b>: exec() has been disabled for security reasons in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>34</b><br />
<br />
<b>Warning</b>: filetype() [<a href='function.filetype'>function.fil etype</a>]: Lstat failed for (null) (errno=2 - No such file or directory) in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>46</b><br />
<br />
<b>Warning</b>: fopen() [<a href='function.fopen'>function.fopen& lt;/a>]: Unable to access /home/najvair/backup_mysql/najvair_smf-091007-0252am_sql.tar.gz in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>52</b><br />
<br />
<b>Warning</b>: fopen(/home/najvair/backup_mysql/najvair_smf-091007-0252am_sql.tar.gz) [<a href='function.fopen'>function.fopen& lt;/a>]: failed to open stream: No such file or directory in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>52</b><br />
<br />
<b>Warning</b>: filesize() [<a href='function.filesize'>function.fil esize</a>]: Stat failed for /home/najvair/backup_mysql/najvair_smf-091007-0252am_sql.tar.gz (errno=2 - No such file or directory) in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: fread(): supplied argument is not a valid stream resource in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: fclose(): supplied argument is not a valid stream resource in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>54</b><br />
<h4><center>Database backup created and sent! File name /home/najvair/backup_mysql/najvair_smf-091007-0252am_sql.tar.gz</center></h4><br />
<b>Warning</b>: exec() has been disabled for security reasons in <b>/home/najvair/backup_mysql/backup_mysql.php</b> on line <b>85</b><br />
میشه نظرتون رو بگید... :(
سلام
منم فكر ميكنم مال هاست باشه، ولي مطمئن نيستم، بزار دوستان بزرگتر نظر بدن
اون فايل pdf هم فكر كنم همونيه كه من از روش خوندم، اگر نويسندش رو توش نوشته ، قربون دستت خودت زحمت مقالشم بكش :D اينجا هم بنويس كه كي اين كد رو نوشته كه دزدي علمي نشه :)
مرسي
يا علي
که اینطور ، منتظر می مونم ببینم دوستان دیگه چه نظری دارن... یه نکته هم اینکه من از مامبو سرور استفاده می کنما ::)... اسم نویسنده ی اون مقاله هم بود وحید . هم اسم خودم 8)... دستش درد نکنه :)
راستی ، یادم رفت ، هر چند هنوز نتیجه نگرفتم ، اما از اینکه برای راهنمایی من وقت گذاشتید خیلی خیلی ممنون
** 2 پست شما یکی شد
سلام
passthru()
shell_exec()
exec()
همگی این فانکشن ها در سرور برای امنیت سایتهای شما بسته شده .
این اسکریپت هم نیاز به این فانکشن ها داره ...
یا علی
چه بد... :(
ممنون از شما آقای فیروزمندان . همینطور آقای شکرزاده :)
سلام، ممنون
آقای فیروزمندان، با این حساب ، یه کد جایگزینی چیزی سراغ دارین که بدون این فانکشن ها کار کنه؟
یا علی
سلام
قطعا راه حل دیگه ای داره اما :
یا علینقل قول:
26) سوالاتی که مربوط به مباحث مهندسی نرم افزار ٬ برنامه نویسی PHP MySQL Javascript و ... می باشند پاسخ داده نخواهند شد. سوالات در این زمینه را می توانید در انجمن های دیگر که به این موضوعات می پردازند مطرح نمایید.