70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

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

سلام دوستان؛ وقتتون بخیر ، من با استفاده از برنامه زمان بندی Sql Server یه job تنظیم کردم که هر 2 ساعت یک backup از دیتا میگیره. حالا میخواستم ببینم چطور میشه این فایل رو با استفاده از اسکریپت (یا نرم افزار بهتره؟) و بطور مثال هر 2 یا 4 ساعت ( ساعتش رو خودم تنظیم کنم) به یک کامپیوتر دیگه در شبکه منتقل کنم؟

پرسیده شده در 1393/11/02 توسط

6 پاسخ

0

سلام مهندس،به جاي source و destination آدرس ip آن دو سرور كه ميخواهيم تغييرات بر روي آنها اعمال بشن رو بديم،درضمن آن مسيري كه شما \:cدر نظر گرفتين من در سرور مسير سرور خودم مثلا \:f را بدهم. و در قسمت سوم يك x , yگذاشتين منظور چيست و من همين را تايپ كنم يا در سيستم من چيز ديگري است كه بايد به جاي x, y تايپ كنم.

پاسخ در 1393/11/04 توسط
1

دوست عزیزم شاید من نمیخواست این مثال رو برای شما بزنم تا خدای نکرده گیج بشین. ببین دوست عزیزم اون مسیری هست که تو کامپیوتر مقصد share شده.

این مثال رو ببین و قبلی رو کلا بیخیال شو:

set source=D:\backup data\testfile.txt
set destination=E:\backupbyscriptxcopy "%source%" "%destination%" /y
پاسخ در 1393/11/11 توسط
3

دوست عزیزم همونطور که خودتون نوشتین درست هستش. این مثال رو ببینید:

set source=D:\backup data\mybackup.txt
set destination=\\192.168.10.40\test
xcopy "%source%" "%destination%" /y

فقط از گذاشتن " تو مسیر xcopy فراموش نکنی، که فکر کنم UNITY عزیز بعلت مشغله زیادی که داره این رو جا انداخته.

الان تو اینجا در درایو D و در فولدر backup data فایل mybackup.txt منتقل میشه به یک سرور دیگه که IP اون 40 هستش. شما حالا میتونی به جای این مسیری که من گذاشتم، یه مسیر لوکال و در داخل سرور خودت رو بذاری.

اون x هم که میگی متعلق به دستور xcopy هستش که در واقع دستوری است مشابه copy ولی با قابلیتهای بالاتر.

اون y/ رو هم که در انتها میبینی در واقع داره میگه که فایل رو برای من Overwrite کن، یعنی اگه قبلا همچین فایلی بوده، شما این رو جایگزین اون کن تا در زمانی که ما حضور نداریم، خودش عملیات کپی رو بدون پرسش از ما انجام بده.

پاسخ در 1393/11/04 توسط
6

بله شما می تونید اینکار رو از طریق یک اسکریپت ساده انجام بدید ، البته پیشنهاد نمی کنم زمانبندی انجام کار رو در اسکریپت بنویسید چون سخت میشه و پیچیدگی اسکریپت بالا میره ، شما کافیه دستور زیر رو در یک فایل Text ذخیره کنید و پسوندش رو بزارید BAT به جای Text که میشه یک Batch File اجرایی ، حالا به جای آدرس Source آدرس پوشه ای که با SQL بکاپ گرفتید رو بزارید و به جای آدرس Destination هم آدرسی که قرار هست کپی بشه در مقصد ، البته توجه کنید که بعد از ساختن حتما تست بگیرید ازش بعد از طریق Scheduled Tasks ویندوز بزاری هر زمانیکه خودتون دوست داشتید بصورت زمانبندی شده اجرا بشه :

set source=C:\Users\backup\test
set destination=C:\Users\backup\testdestxcopy %source% %destination% /y
پاسخ در 1393/11/02 توسط
0

ممنون،اما شما بعداز آدرسip درايور مشخص نكردي و مسير test را بعد از ip دادين اين يعني چي؟

پاسخ در 1393/11/04 توسط
1

سلام دوست من روی سیستمت یک Map drive تعریف کن تا اطلاعات روی اون کپی بشه

پاسخ در 1393/11/02 توسط

پاسخ شما