۱
چند روز پیش تصمیم داشتم از سرور گنجور بکآپ بگیرم تا پس از تغییر احتمالی بستهٔ میزبانی بکآپ گرفته شده را روی آن بازگردانم. روی سرور گنجور دسترسی SSH دارم و به همین دلیل میتوانم به سرعت از دیتابیسهای سایت بکآپ تهیه کنم و بکآپها را به همراه فایلهای موجود روی سرور را فشرده کنم و نهایتاً مجموعهٔ بکآپها را در قالب یک فایل دریافت کنم.
مشکل اینجا بود که حجم نهایی فایل بکآپ زیاد شد و این شد که مجبور شدم یک شب تا صبح کامپیوترم را برای دریافت این فایل روشن بگذارم.
راه حل بهتر -به جای دریافت یک فایل چند صد مگابایتی- صبح روز داونلود به ذهنم رسید: وقتی که هنوز چند ده مگابایتی از فایل مذکور مانده بود. من روی گزیر هم یک بستهٔ میزبانی جدا دارم. میتوانستم به جای داونلود این فایل عظیم روی کامپیوتر خودم و احتمالاً علافی چند ساعتهٔ آتی برای آپلودش آن را از طریق خط فرمان SSH و دستور ftp به سرور گزیر منتقل کنم و بعداً هم با امکانی مشابه آن را به محل نهایی منتقل کنم. کاری که به کمک ارتباط ِ -اگر درست یادم مانده باشد- ۷۵۰ کیوبایت بر ثانیهای دو میزبان در کمتر از یک دقیقه به انجام رسید!
۲
مشکلی که در داونلودهای بزرگ گاهی وجود دارد قطع ارتباط اینترنت است. من همچنانکه پیشتر اشاره کردهام در حال حاضر از اینترنت ADSL داتک استفاده میکنم و پیش از آن از آسیاتک (یکی از مشکلاتم هم با داتک همین قطعیهای ناگهانی است که البته بلافاصله بعد از قطعی میشود دوباره وصل شد و نیازی به تماس با بخش پشتیبانی نیست، یک بار قضیه را به پشتیبانی داتک گفتم گفتند مشکل از مودم من است که مودم خوبی نیست!). برای حل این مشکل، آن وقتها که آسیاتک داشتم یک فایل بچ درست کرده بودم که در آن به کمک دستور rasdial ویندوز؛ ارتباط را شمارهگیری میکردم و این فایل بچ را در اسکجولر ویندوز گذاشته بودم هر نیم ساعت یا یک ساعت یک بار اجرا شود و قطعی ارتباطهای احتمالی را در زمانی که من پشت کامپیوتر نیستم رفع کند. اما برای داتک این روش درست کار نمیکرد، چرا که در پیکربندی داتک تلاشهای متوالی برای اتصال مجدد با یک نام کاربری و گذرواژه وقتی که هنوز قطع نشدهاید در نهایت باعث قفل شدن حساب کاربری میشد. راه حل دم دستی این میتوانست باشد که پیش از شمارهگیری به کمک سوییچ disconnect دستور rasdial اتصال موجود را قطع کنم، مدتی منتظر بمانم و سپس دوباره شمارهگیری کنم. مشکل اینجاست که خط فرمان استاندارد ویندوز دستوری برای sleep ندارد، جستجوی مختصری کردم و متوجه شدم که با استفاده از سوییچهای دستور پینگ میشود وقفهٔ چندثانیهای ایجاد کرد. این بچفایل جدید همان کاری را که من نیاز دارم انجام میدهد که ممکن است برای شما مفید باشد:
rasdial datak /disconnect
ping 127.0.0.1 -n 10 -w 1000 > nul
rasdial datak username password
هر چند به نظرم باید راهکار استانداردی برای اطلاع از قطع اتصال وجود داشته باشد تا نیاز نباشد اتصال موجود را قطع کنیم. شما چنین راهکاری سراغ ندارید؟