PDA

View Full Version : بک آپگیری روزانه



sina_xp7
شنبه 26 فروردین 1391, 02:15 صبح
با عرض سلام خدمت اساتید.
من می خوام از دیتا بیس سایتم هر روز بک آپ بگیرم(با توسط کد)
به این صورت که هر روز از کل دیتا بیس بک آپ نگیره،هر روز از ادامه دیروز بک آپ بگیره و بهش اضافه کنه.
امکانش هست؟ممنون می شم که راهنمائیم کنین.

EnKamran
شنبه 26 فروردین 1391, 06:00 صبح
تو خود هاست همچین امکانی هست چه نیازیه که با کدبگیری ؟

alonemm
شنبه 26 فروردین 1391, 12:41 عصر
باسلام:

معمولا در هاست یک گزینه به نام CornJobs وجود داره که شما در این قسمت میتونید مشخص کنید که کدهای یک فایل مشخص در یک بازه زمانی مشخص به چه تعدادی انجام بشه.

fakhravari
شنبه 26 فروردین 1391, 13:27 عصر
http://barnamenevis.org/showthread.php?86446-WebTaskScheduler-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%DA%A9%D8%A7%D8%B1%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B2%D9%85%D8%A7%D9%86-%D9%85%D8%B4%D8%AE%D8%B5-%28%D8%AE%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%88-...%29&highlight=%D8%B2%D9%85%D8%A7%D9%86%D8%A8%D9%86%D8% AF%DB%8C+%D8%A7%D9%86%D8%AC%D8%A7%D9%85+%D8%B9%D9% 85%D9%84%DB%8C%D8%A7%D8%AA+%D8%AF%D8%B1+%D9%88%D8% A8

sina_xp7
شنبه 26 فروردین 1391, 20:04 عصر
ممنون از پاسختون.
اما من نمیخوام که روی هاست بک آپ داشته باشم.می خوام رو هاردم باشه.
برای این کار اگه هر روز بخوام بک آپ رو دانلود کنم فکر نکنم عقلانی باشه.چون هر روز دیتاها تغییر می کنه و حجم دانلودشم زیاد و با این سرعت ما جور در نمیاد.

fakhravari
شنبه 26 فروردین 1391, 22:56 عصر
خوب نمیشه.
اگر اطلاعات روی هاست باشه باید بک بگیرید و بعد بریزید روی سیتم و یا بلعکس.
فقط در وسط اون برنامه زمان بندی بزارید و ادرس

protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(DAL.ConnectionString);
con.Open();

SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
string dbname = cmd.Connection.Database;
con.Close();
SqlConnection.ClearAllPools();


string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + Server.MapPath(@"~/") + @"\backup.bak'";
con.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
con.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(DAL.ConnectionString);
con.Open();

SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
string dbname = cmd.Connection.Database;
con.Close();
SqlConnection.ClearAllPools();

string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + Server.MapPath(@"~/") + "\\backup.bak';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = con;
con.Open();

con.ChangeDatabase("master");
cmd.CommandText = query;
cmd.ExecuteNonQuery();
con.Close();

}

sina_xp7
یک شنبه 27 فروردین 1391, 00:20 صبح
اون چیزی که من گفتم نمی شه؟

fakhravari
یک شنبه 27 فروردین 1391, 09:12 صبح
اگر کاربر توی سایت ثبتنام کرد چی .
داده هایش میپره که اینطوری؟؟؟
شما باید پروژه فاز بندی کنید که مشکل دیتابیس و جدول نداشته باشید. باید اطلاعات را از هاست بگیرید و بعد از گرفتن جداول جدید بسازید

sina_xp7
یک شنبه 27 فروردین 1391, 13:35 عصر
شما فکر کنم منظورمو بد رسوندم.
سایت من سایت خبریه.چون بعضی وقتها به هاست اعتبار نیست می خوام رو هاردم بک آپ بگیرم.اما با این تفاوت که وقتی امروز از دیتابیس بک آپ گرفتم و فردا دوباره می خوام بک آپ بگیرم فقط خبرهای جدید رو به بک آپی که دیروز گرفتم اضافه کنه.
امیدوارم خوب توضیح داده باشم.

fakhravari
یک شنبه 27 فروردین 1391, 16:04 عصر
یعنی کاربری در کار نیست.
یه دستوری در sql هست برای داده های جدید برای بکاپ گیری بگردی پیدا میکنی.

sina_xp7
دوشنبه 28 فروردین 1391, 18:34 عصر
چرا؟به نظر من پر کاربرد.
منم دنباله همون دستورم.

hobab-theme
دوشنبه 28 فروردین 1391, 20:29 عصر
برای استفاده از CronJobs باید طرز نوشتن توابع مورد نیاز رو بدونید. و در ضمن این کار بر روی هاستهای لینوکس انجام خواهد شد.
و اینکه هدف شما اشتباست(یا اشتباه توضیح میدید)
شما می خوایید بک آپ رو روی هارد سیستم خودتون داشته باشید. برای این کار باید حتما بک آپ روی هاست گرفته بشه و بعد اون رو دانلود کنید.

sina_xp7
سه شنبه 29 فروردین 1391, 04:12 صبح
پس این چیزی که من می خوام امکان پرپذیر نیست؟
آخه هر روز مثلا بخوام 100mb رو دانلود کنم یه خورده سخته.

hobab-theme
سه شنبه 29 فروردین 1391, 22:04 عصر
آره چون ابزار پشتیبان گیر هاست تنها یک نمونه بک آپ میگیره و اون هم بصورت کامل است.
و اینکه :
در صورتی که سایت خبری شما تعداد اخبار بالاییا را در روز ثبت میکنه، بهتر و مطمئن تر این است که از سرور شخصی استفاده کنید تا هاست.
با این کار شما با انجام چندکار مختصر میتونید بک آپها را روی هارد سرور داشته باشید بدون دخالت خودتون (به صورت خودکار)

و اگر هم تعداد خبر زیادی در روز ثبت نمیشه که نیا به بک آپ روزانه نیست. میتونید مثلا 3روز یکبار یا هفتگی بگیرید.

پی نوشت :
البته میتونید برای سبکتر شدن فایل نهایی از امکان فشرده سازی فایل بک آپ (ZIP) استفاده کنید. این گزینه در کنترل پنل های مختلف با نام های مختلفی در دسترس است که از همون قسمت بک آپ گیری میتونید اون رو ببینید