۱
چند روز پیش تصمیم داشتم از سرور گنجور بکآپ بگیرم تا پس از تغییر احتمالی بستهٔ میزبانی بکآپ گرفته شده را روی آن بازگردانم. روی سرور گنجور دسترسی 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
هر چند به نظرم باید راهکار استانداردی برای اطلاع از قطع اتصال وجود داشته باشد تا نیاز نباشد اتصال موجود را قطع کنیم. شما چنین راهکاری سراغ ندارید؟
سلام آقای محمدی،
من یکی دو روز پیش به صورت اتفاقی با سایت گنجور و همچنین نرمافزار رومیزی آن آشنا شدم، دست مریزاد واقعا کار معرکهایست. البته من Dorj3 را هم دارم که از حق نگذریم آن هم برنامه بسیار عالی است، اما کمی سنگین!
الان هم که وبلاگتون رو پیدا کردم گفتم در اینجا تشکری از کار عالیتان کنم و به علاوه سوالی بپرسم.
اینطور که دیدم برنامه را با سیشارپ نوشتهاید آیا قابل انتقال برای سیستمعاملهای دیگر یعنی لینوکس و مکینتاش هم است و آیا کلا برای این سیستمعاملها ایدهای دارید؟
ممنون میشوم اگر به ایمیلم پاسخ را بفرستید.
در آخر در مورد این پست دو نکته بگویم:
اولا برای تاخیر میتوانید دستور زیر را به کار ببرید:
TIMEOUT delay
که delay بر حسب ثانبه است،
ثانیا برای وضعیت اتصال کارتهای شبکه دستور زیر کمکتان میکند:
netsh interface show interface
البته دستور netsh فوقالعاده قوی است.
@سید رضی:
ممنون واقعاً از لطف و راهنمایی شما،
در مورد گنجور رومیزی تحت سیستم عاملهای دیگه اینجاها رو ببینید:
http://www.gozir.com/1388/07/17/linjoor
http://www.technotux.org/html/index.php?name=PNphpBB2&file=viewtopic&t=19047
اینجا و اینجا
ممنون
پس به نظر میرسه آماده شدن نسخه لینوکسی و مکینتاشی هنوز کار داره!
دلیل خاصی داشتید که از Qt Framework استفاده نکردید؟
@سید رضی:
خوب، من با سی شارپ زیاد کار کردم با Qt اصلاً،
هدفم هم نوشتن یه برنامهٔ تمامعیار نبوده، هدف این بوده که راهکاری برای انتشار دیتابیس گنجور درست کنم که اگر نتونستم دیگه سایت رو اداره کنم، دیتابیسش برای کسانی که میخوان کار مشابهی رو انجام بدن در دسترس باشه. به مرور با درخواستهای کاربران برنامه، برنامه قابلیتهای بیشتری پیدا کرده و بزرگتر شده ولی در کل هدف ساختن یه برنامهٔ پرقابلیت یا مالتی پلتفورم نبوده.
با سلام
من با همین مشکل دست به گریبان بودم .
بهترین راه به نظر من استفاده از نرم افزار
ADSL Autoconnect است .
…………………………………………………….
ADSL Autoconnect, in its first version had for only purpose to maintain a permanent connection over an ADSL Network. (ADSL : Asymmetric Digital Subscriber Line).
Users soon began sending feature requests and the software soon added parameters and a more intuitive interface.
@علیرضا:
این نرمافزار رو از کجا میشه دریافت کرد؟ مجانیه؟