در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش Backup گیری خودکار از Database های SQL سرور

قانون محمد نصیری را به یاد دارید ؟ اگر مقاله های قبلی من در خصوص Backup گیری از اکتیودایرکتوری را به خاطر داشته باشید یک قانون همیشگی در خصوص ادامه حیات شما در حوزه IT وجود دارد و آن قانون Backup است و Backup است و Backup . البته این جمله از خودم نیست و در واقع یک قانون در حوزه امنیت اطلاعات هست.امروزه تقریبا بیش از 90 درصد Database هایی که برای نرم افزارهای اتوماسیون ، مالی ، انبارداری و حتی سرورهای سازمانی مثل SharePoint یا Lync استفاده می شود چیزی به غیر از MSSQL Server نیست .

باید بدانید که بدون شک در مراحل زمانی مشخص و مرتب از Database های موجود در این سرور Backup بگیرید ، در زمان های قدیم ( یعنی زمانی که بنده اصلا کاری به کار SQL سرور نداشتم D: ) انجام عملیات Backup گیری از SQL سرور چندان آسان نبود و مستلزم اجرای یک سری دستورات و Query ها در SQL سرور بود. اما شخصی که تا کنون کاری به SQL سرور نداشته و به عنوان مدیر یک شبکه مسئولیت نگهداری از داده ها را دارد کار ساده ای با این نرم افزار نداشت .

در SQL سرور 2008 نسخه R2 که امروز می خواهیم در خصوص آن توضیح دهیم ، شرکت مایکروسافت یک روش بسیار بسیار ساده برای گرفتن Backup آن هم بصورت زمانبندی شده در اختیار مدیرهای شبکه قرار داده است که براحتی و تنها با چند کلیک می توانید از همه اطلاعات موجود در Database های خود backup بگیرید. در این مقاله شما بصورت گام به گام از کلیه اطلاعات موجود در Instance ای به نام ITPRO در MSSQL Server بصورت زمانبندی شده Backup میگیرید و این Backup ها را نیز بعد از مدتی باز هم بصورت مدت دار از دستگاه ذخیره سازی اطلاعات حذف می کنید تا فضای اضافه ای اشغال نکنند.

چگونه بصورت خودکار از Database های SQL بکاپ بگیریم ؟

خوب قبل از اینکه یک راست به سراغ فرآیند Backup گیری برویم باید مطمئن شوید که سرویس SQL Server Agent در حالت running قرار دارد در غیر اینصورت نمی توانید از این روش برای Backup گیری استفاده کنید. برای بررسی این مورد هم می توانید وارد کنسول Services.msc شوید و هم می توانید از طریق کنسول SQL Management Studio بعد از connect شدن به Instance موجود در SQL در قسمت Object Explorer بررسی کنید که آیا سرویس فعال و در حال اجرا است یا خیر ، اگر نبود براحتی بر روی سرویس مورد نظر راست کلیک کرده و مشابه تصویر پایین بر روی Start کلیک می کنیم.

بررسی فعال بودن سرویس SQL Server Agent

از Object Explorer قسمت Management Node را باز کنید و گزینه Maintenance Plan را انتخاب کنید.توجه کنید که برای اینکه بتوانید یک برنامه Backup زمانبندی شده توسط Maintenance Plan ها داشته باشید باید دسترسی یا بهتر بگوییم role ای به نام SYSADMIN را داشته باشید ، البته من فرض را بر این میگیرم که شما دسترسی کامل را دارید زیرا هیچ مدیر سیستمی در ایران توانایی تحمل محدودیت را ندارد و در همه جا Admin می باشد ( باور کنید ، مدیر شبکه خود را مالک همه سیستم ها می داند چه به او ربطی داشته باشد و چه ربطی نداشته باشد ) به هر حال اگر نمی توانید Maintenance را مشابه آنچه در تصویر زیر مشاهده می کنید ببینید بررسی کنید که Permission های لازم را به این Instance داشته باشید.

تصویر دوم : وارد شدن به محیط Maintenance Plan در SQL Server Management Studio برای گرفتن backup از SQL

مشابه آنچه در تصویر پایین می بینید بر روی Maintenance Plan راست کلیک کرده و گزینه new maintenance plan را انتخاب کنید.

تصویر سوم : ایجاد یک maintenance plan برای Backup گیری از SQL سرور

در کادری که در پایین مشاهده می کنید یک اسم برای این maintenance plan ایجاد کنید ، اسم را متناسب با فرآیندی که قرار است در اینجا انجام شود تعیین کنید برای مثال بنده اسم را ITPRO Database Daily Backup گذاشته ام ، شما می توانید بر اساس نیاز خود هر اسمی که دوست دارید را انتخاب کنید فقط لطفا یک اسم با معنی ایجاد کنید نه هر چیزی که فقط کاراکتر باشد ( مورد داشتیم اسم Maintenance Mode به شکل Nazijoon وارد شده است ، به خداااا ( . اسم را ایجاد و بر روی OK کلیک کنید.

تصویر چهارم : ایجاد کردن یک اسم برای Maintenance Plans برای Backup گیری خودکار از SQL  سرور

خوب شما الان در صفحه تنظیمات مربوط به Maintenance Plan هستید. به نقاطی که با علامت ویلبیلک ( VillBilak ) مشخص شده اند توجه کنید ، این دو قسمت مواردی هستند که شما باید تنظیمات Backup خود را انجام دهید. قسمتی که در گوشه بالای سمت راست در تصویر زیر مشخص شده است برای زمانبندی انجام عملیات خود استفاده می کنید ، اینکه در چه زمانی و چه روزهایی عملیات های Maintenance Plan انجام شوند. توجه کنید که زمانی برای انجام خود تعیین کنید که می دانید Database شما در حال استفاده نمی باشد ، هیچوقت در اوج ساعت کاری Database ها از آنها بصورت زمانبندی شده Backup نگیرید. اما قسمتی که در پایین و سمت چپ تصویر مشخص شده است اصل ماجرا یا همان Backup Maintenance Plan شما را ایجاد می کند. با توجه به اینکه می توان فقط برای همین یک قسمت چند مقاله نوشت ما بصورت جزئی تر وارد ماجرا نمی شویم و فقط به بررسی دو مورد از آنها که در آموزش ما استفاده می شود کفایت می کنیم.

تصویر پنجم : تعریف زمانبندی و استفاده از Maintenance Plan  های SQL برای Backup گیری MSSQL

بر روی آیکن تقویم یا همان Calendar که در تصویر بالا مشخص شده است دابل کلیک کنید. با اینکار یک کادر باز می شود که شما می توانید زمان های اجرای عملیات و همچنین وهله های زمانی کار را برای سیستم تعریف کنید. همیشه بر اساس نیاز و اهمیت کار سازمان تعاریف زمانبندی خود را انجام دهید. معمولا Backup ها سازمانی بصورت روزانه گرفته می شوند. باز هم تاکید می کنم زمانی را انتخاب کنید که می دانید Database شما Load کاری زیادی ندارد ، بنده معمولا شب ها یا ساعات اولیه بامداد را برای گرفتن backup انتخاب می کنم. زمانیکه کار خود را تمام کردید بر روی دکمه OK کلیک کنید.

تصویر ششم : تعیین تقویم زمانبندی برای گرفتن backup از SQL  سرور

از قسمت Maintenance Plans که در تصاویر بالا در گوشه سمت چپ پایین مشخص شده است گزینه backup database plan را انتخاب کنید و بوسیله Drag and Drop آنرا در کادر خالی روبرو بیندازید. این همان مجموعه دستوراتی است که عملیات Backup گیری را برای شما انجام می دهد. تصویر زیر دقیقا همان چیزی است که باید مشاهده کنید.

تصویر هفتم : انتخاب کردن Backup Maintenance Plan در SQL  سرور 2008

حالا بر روی backup database task ای که در کادر روبرو ایجاد شده است دابل کلیک کنید. با اینکار یک صفحه جدید باز می شود که شما می توانید تنظیمات مربوط به Database هایی که می خواهید Backup بگیرید را مشخص می کنید. در اینجاست که شما تعیین می کنید از چه Database هایی می خواهید Backup بگیرید ، در اینجاست که شما تعیین می کنید در کجای سیستم و در چه مسیری فایل های Backup قرار بگیرد و تمامی موارد مرتبط با backup گیری از دیتابیس ها در اینجا تعیین می شود. از قسمت بالایی این صفحه از منوی بازشوی Databases شما می توانید دقیقا Database مورد نظر خودتان را برای Backup گیری تعیین کنید ، همچنین در همین صفحه همانطور که در صفحه پایین مشاهده می کنید می توانید پسوند فایل های ذخیره شده و مسیر ذخیره را نیز تعیین کنید ، ترجیجا با توجه با ساختارهای شلخته ایرانی ( تعارف نداریم باور کنید ) Backup خود را بصورت All Databases تعریف کنید.

تصویر نهم : آموزش گرفتن Backup از SQL سرور

تصویر دهم : آموزش بکاپ گیری از SQL سرور

بعد از اینکه موارد بالا را انجام دادید بر روی OK کلیک کنید. تبریک صمیمانه ، تنظیمان مربوط به Backup گیری شما انجام شده است. فایل های Backup شما در زمان تعیین شده و در مسیر تعریف شده بصورت خودکار روزانه در ساعت 9 شب گرفته می شوند. نام فایل هایی که بعد از گرفتن Backup ایجاد می شود بر اساس تاریخی تعیین می شود که در آن Backup گرفته شده است و این کمک زیادی به بحث شناسایی دقیق داده های درست در زمان بازگردانی یا Recovery به مدیر سیستم می کند.

با توجه به اینکه Backup های شما بصورت متناوب و روزانه گرفته می شوند بعد از مدتی حجم اطلاعاتی که backup گرفته می شوند زیاد می شود بنابراین بهتر است برای این سیستم Backup تعریف کنید که بعد از یک وهله زمانی معین Backup های قبلی را از بین ببرد و حذف کند.. برای اینکه بتوانید اینکار را انجام دهید شما باید یک cleanup task از همان قسمتی که Maintenance Cleanup Taskرا انتخاب کردید را به شکل قبل در کادر روبرویی Drag and Drop کنید. با استفاده از روش زیر شما می توانید تنظیمات Maintenance Cleanup Task را نیز انجام دهید.

تصویر یازدهم : انتخاب cleanup task برای حذف Backup های MSSQL Server

بر روی شیئ Maintenance Cleanup Task ای که در کادر روبرو انداخته اید دابل کلیک کنید تا تنظیمات آن را مشاهده کنید. شما باید مسیر Backup ای که گرفته شده است به همراه پسوند فایل ها و همچنین مدت زمانی که می خواهید Backup ها معتبر باشند را تعیین کنید. معمولا برای این قسمت مدت زمان یک ماه در نظر گرفته می شوند همانطور که در تصویر زیر نیز مشاهده می کنید.

تصویر دوازدهم : تکمیل فرآیند Backup گیری از Database های SQL سرور

زمانیکه بر روی تصویر بالا OK را کلیک کنید. می توانید مطمئن باشید که Backup های شما هر ماه یکبار گذشته را فراموش می کنند و به فکر آینده می افتند. امیدوارم هیچوقت در زندگی نیازی به بازگردانی Backup نداشته باشید اما به هر حال همیشه اصل Backup Backup Backup را فراموش نکنید ، امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید.

نویسنده : محمد نصیری

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

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#چگونه_از_sql_بکاپ_بگیریم #بکاپ_گیری_از_sql_سرور #آموزش_بکاپ_گیری_از_sql_سرور #جگونه_از_sql_backup_بگیریم #آموزش_backup_گیری_از_sql_سرور #نحوه_backup_گیری_از_sql #backup_گیری_خودکار_از_sql #تفاوت_آرشیو_و_بکاپ #backup_گیری_از_sql
39 نظر
حمیدرضا صادقیان

سلام.

خیلی عالی بود.

البته کاش در مورد Recovery Model ها و نوع Backup ها صحبت می کردین که دقیقتر بشه وارد این موارد شد.

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

ولی در کل خیلی عالی بود و شخصا از شما تشکر میکنم.

محمد نصیری

استاد صادقیان عزیز ما دست پروده ایم ببخشید جثارت کردیم در این حوزه ورود کردیم ، در خصوص مواردی که فرمودین هم بنده چند مورد رو نوشتم که امیدوارم شما اشتباهاتی که بنده دارم رو بهم متذکر بشید، خوشحال میشم از تجربیات شما استاد بزرگوار در این عرصه استفاده کنم :

  1. معرفی انواع Backup در SQL Server
  2. معرفی انواع Recovery Model در SQL سرور
  3. منظور از Shrinking و Truncation در Transaction Log های SQL سرور چیست ؟
حمیدرضا صادقیان

اختیار دارین دوست عزیز.من استاد نیستم و خیلی هم نوشته ها و مطالب شما عالی بود و من به شخصه ازش لذت بردم.

مواردی که فرمودین رو حتما میبینم و نظرمو اعلام میکنم.

MrCoder

سلام ، آقاق تروخدا لینک دانلود این SQL Server Manegmet رو برام بزارید بخدا یه بار سفارش دادم تو اینترنت دستم رسید نصب نشد دیشبم تو یه سایت نسخه 2008 رو دانلود کردن فرمت Iso بود با برنامه بازش کردم بدون مشکل اکسترکت شد ولی نصب نشد خواهشاً هر نسخه ای دارید که سالمه و روش بک آپ گیری خودکارو انجام دادن لینکش رو بزارید مممنون

محمد نصیری

ما در این وب سایت فقط امکان ارسال لینک SQL Management Studio Express Edition رو داریم که امکان Backup گیری خودکار رو نداره ، شما می تونید از نسخه های Trial ای که در لینک زیر موجود هست و برای Enterprise Edition هست رو استفاده کنید یا محصول اصلی رو از وب سایت های دیگه تهیه کنید :

http://www.microsoft.com/en-us/download/details.aspx?id=1279
MrCoder

این نسخه معلومه Trial و نهایتش 1 ماه کار کنه به کار نمیاد ، یعنی تو این نت یه نسخه کرک شده این نرم افزار گیر نمیاد ؟ یا برنامه های دیگه نیست که کار پشتیبان گیری خود کارو انجام بده ؟ ممنون

محمد نصیری

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

sh-ghanbari

سلام

خیلی عالی بود.

ممنون

موفق باشید.

کمیل یوسفی کمالی

ضمن تشکر

مثل همیشه عالی است

فقط یک سوال برایم پیش آمده و آن هم اینکه چگونه می توانم این نسخه بک آپ را بر روی یک فضای به اشتراک گذاشته شده در شبکه بگیرم

چون در مسیرها فقط لیست درایوهای local کامپیوتر را نشان می دهد

البته بنده از قبل فضای share شده را به صورت map network drive به سیستم معرفی کرده ام ولی در این قسمت نمایش داده نمی شود

محمد نصیری

دوست عزیز برای اینکه بتونید در سطح شبکه این کار رو انجام بدید باید سرویس MSSQL شما با استفاده از کاربر Network Service یا یک کاربر Domain کار بکنه که در قسمت Services می تونید این تغییر رو انجام بدید در غیر اینصورت درایوهای شبکه دیده نمیشن ، موفق باشید

keivan

با سلام در جوابتون به اون دوستمون

(باید سرویس MSSQL شما با استفاده از کاربر Network Service یا یک کاربر Domain کار بکنه که در قسمت Services می تونید این تغییر رو انجام بدید) می تونید بیشتر توضیح بدید چون سیستم مورد نظر من روی سرور که خودش domain است با user admin نصب و ورودی sql هم من با sa وارد میشوم ولی همچنان درایو ها ی map شده شبکه را نمیبینم

متشکر

محمد نصیری

سوالتون رو در تالار بپرسید با ذکر جزییات تا کامل پاسخ داده بشه

morvarid

سلام

ممنون میشم جواب سوامو بدین

سیستمی رو بک آپ گیری اتوماتیک رو براش اوکی کردم و درست کار می کرد

مسئول شبکه شرکت بعد از نصب اس کیو ال computername رو عوض کردن

الان برای بک اپ گیری اتوماتیک جاب ایجاد میشه ولی عمل نمی کنه

محمد نصیری

سوالتون رو لطفا در تالار مطرح کنید با تشکر

اسماعیل دیبازر

سلام استاد نصیری تشکر از مطلب خوبتون!

اگر تو زمان معین شده سرور خاموش باشه طریقه کار backup چگونه انجام میشه؟

backup تو اون زمان کنسل میشه یا به تعویق میفته و پس از راه اندازی مجدد که ممکنه اوج کاری دیتابیس باشه run شه و شروع به backup گیری کنه!

ممنون میشم پاسخ بدید!

محمد نصیری

میتونی در همون صفحه Schedule نرم افزار براش تعریف کنی در اسرع وقت و با تعداد تلاش معین مجددا تلاش کنه ، مثلا 10 بار تلاش کنه یا سرور به محض اینکه روشن شد Backup بگیره ..

محمد نصیری

میتونی در همون صفحه Schedule نرم افزار براش تعریف کنی در اسرع وقت و با تعداد تلاش معین مجددا تلاش کنه ، مثلا 10 بار تلاش کنه یا سرور به محض اینکه روشن شد Backup بگیره ..

ehsansql

سلام

از توضیح روان شما ممنون، یک سوال :

نرم افزاری هست که بشه با اون ip سرور بانک مربوطه و رمز ورود به sql server رو داد و خودش کار بکاپ گیری خودکار رو انجام بده؟ کاری که از طریق Maitenance planes انجام میدیم و دریایو مپ شبکه (nas) رو هم شناسایی کنه و بکاپ در چند جا بگیره؟

محمد نصیری

ITPRO ی عزیز لطفا سئوالتون رو از طریق گزینه سئوال بپرسید در انجمن مربوطه مطرح کنید سپاسگزارم

omid&amir

آقا ممنون عالی بود

mohammad_sa23

مرسییی مهندس خیلی خوب بود

hamed

سلام دوستان چرا SQL Agent متوقف میشه؟

و همینطور بک آپ خودکار روزانه اتجام نمیشه؟

pirooz170

توضیحات واقعا کامل و جامع بود بسیار سپاس

dhpritpro

با سلام خدمت استاد نصیری و سپاس از شیوه‌ی بیان عالی‌ کتبی و شفاهی‌تون. من یه مشکل بزرگی در ایجاد فایل‌های Backup روی یک فولدر شیر شده روی یک NAS دارم و اونم اینه که اون فولدر شیر شده با UserPass در دسترسه. نمی‌تونم به‌دلایل امنیتی مثل حمله‌ی همین باج افزار Wannacry شیرفولدر را مپ کنم و به ویندوز بگم Remember کنه. آیا راهی وجود داره که من بتونم فایل‌های بک‌آپم رو در اون فولدر شیر بنویسم. نمی‌دونم مثلاً یه جوری پارامتری UserPass رو به ‌Backup Task بدم یا نه برعکس به اون فولدر شیر شده بگم یوزری که SQL باهاش لاگین کرده بتونه به اون فولدر دسترسی داشته باشه؟ ممنون می‌شم کمکم کنید. سپاس مجدد.

یه زمانی یادمه که وقتی با Symantec Image backup کار می‌کردم دقیقاً می‌شد چنین کاری کنی. یعنی بدون این که فولدر شیر مپ شده باشه وقتی مسیر مقصد برای نوشتن بک‌آپ رو بهش می‌دادی و آتنیکیت لازم داشت توی نرم‌افزار یه پنجره باز می‌شد و UserPass می‌گرفت و خیلی هم قشنگ کار می‌کرد. در صورتی که همون موقع اگر می‌خواستی همون پوشه روی ویندوز اکسپلورر ببینی نمی گذاشت و UserPass می‌خواست.

محمد نصیری

سلام اگر استوریج شما قابلیت طراحی ساختار iSCSI رو داره روش درستی کنید و بعد یک پارتیشن از این نوع روی سیستم ایجاد کنید و فقط به کاربر اس کیو ال دسترسی به این پارتیشن رو بدید.

dhpritpro

ممنون از پاسخ سریع‌تون. نه متأسفانه چنین امکانی وجود نداره.

محمد نصیری

قطعا قابلیت nfs داره از اون استفاده کنید

dhpritpro

مهندس عزیز الان در یه پست دیگه دیدم یکی از کاربران رو راهنمایی کرده بودین به درد منم خورد! خدا خیرت بده. من اومدم برعکس این کارو انجام دادم. یعنی اومدم UserPassی کهSQL باهاش لاگین می‌کرد رو به یوزرهای NASم اضافه کردم و به اون شیر فولدر خاص گفتم فقط این یوزر می‌تونه روی تو بنویسه. بدونه هیچ مشکلی بک‌آپم ساخته می‌شه بدون این که مسیری رو مپ کرده باشم و دسترسی بهش از طریق ویندوز هم ممکن نیست! ممنون. نفستون خیره.

asgari

سلام

ممنون از آموزش خوبتون

من قدم به قدم با آموزش شما جلو اومدم ولی پس از تعریف کردن new Maintenance Plan ، گزینه backup database plan رو نمیتونم ببینم که ادامه بدم .

عکس رو براتون ضمیمه میکنم.

لطف میکنین راهنمایی کنین؟

نبودن گزینه backup database plan

محمد نصیری

لطفا از ابزار رایگان زیر استفاده کنید بهتر و کارآمدتر هست :

صمد رفیع خواه

سلام

چند بار بر حسب نیاز درباره مواردی از sql در گوگل سرچ کردم که هر بارش رو جوابم را اتفاقی در این انجمن و با راه کار و آموزش شما بر خوردم و دنبال کردم و نتیجه گرفتم

پس وظیفه خودم دیدم که عضوی از این انجمن بشم و از وجود دوستان با تجربه و گشاده دستی مثل شما بیشتر استفاده کنم و با تشکر از شما که تنها کاری هست که می توانم انجام دهم انجام وظیفه کرده باشم

mahan2008

سلام. پس از ایجاد Backup باید Refresh کنید تا گزینه مربوط را در فهرست ببینید.

حسن ضرابی

با سلام و خسته نباشید خدمت استاد عزیزم جناب آقای مهندس محمد نصیری

جناب آقای مهندس خیلی عالی توضیح دادید انسان لذت می برد از آموزشهای خوب شما در این سایت ممنونم واقعا عالی هستند.

mojtaba491

با سلام و خسته نباشيد خدمت اساتيد محترم

من يه مشكلي با Backup گيري از ديتابيس هاي SQL سرور دارم و اون اينه كه من چند تا سرور مجازي مختلف دارم كه روي هر كدوم يه SQL سرور نصب شده و توي هر SQL سرور، چندين ديتا بيس وجود داره.

حالا من ميخوام يه سرور مجازي ديگه ايجاد كنم و روي اون يك SQL سرور نصب كنم و با استفاده از اون، از ديتابيس هاي SQL سرورهاي روي سرورهاي مجازي ديگه Backup بصورت اتوماتيك و دوره اي بگيرم.

اگه ممكنه راهنمايي كنيد. ممنون

محمد نصیری

لطفت سوالتون رو از طریق ارسال مطلب در جزیره مربوطه مطرح کنید با سپاس

saeid_f1

سلام و وقت بخیر

مرحله تنظیم cleanup task گزینه ای هست با عنوان : include first level subfolders

اگر در مرحله تعریف بکاپ گیری گزینه : create a sub-directory for each database رو فعال کنیم تا برای هر دیتابیس یک پوشه بسازد و در داخل اون پوشه ها که ساب فولدر هستند، بکاپ ها رو ذخیره کنه اونموقع باید تیک گزینه include first level subfolders در قسمت cleanup task فعال بشه یا نه؟

محمد نصیری

سلام وقت به خیر ، بله باید فعال باشه

saeid_f1

مهندس امکانش هست در نام فایل بکاپی که ساخته میشه، تاریخ به صورت شمسی درج بشه؟

محمد نصیری

خیر ، تاریخ شمسی رو پشتیبانی نمی کنه

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....