انجمن کاربران لینوکس ایران - تکنوتاکس سابق

نسخه ي کامل: مشکل با Hardware Clock و عمل نکردن rtcwake
شما در حال مشاهده نسخه ي متني اين صفحه هستيد. مشاهده نسخه کامل تر با قالب بندي صحيح
من مدت کمی هست که به گنو/لینوکس مهاجرت کردم و یکی از کارهای همیشگیم هم دانلودهای شبانه(در ساعات رایگان) هستش! به این صورت که سیستم در ساعت مشخصی از حالت Sleep خارج بشه ، شروع به دانلود کنه و در ساعت خاصی هم دوباره به وضعیت Sleep برگرده. مشخصا" برای کار هم از crontab استفاده میکنم.
قبلا" همه مراحل بدون هیچ مشکلی پیش میرفت اما الان بعد از چند بار توزیع عوض کردن مرحله اول درست عمل نمیکنه یعنی خروجی دستور rtcwake که من ازش استفاده میکنم کامپیوتر رو برای wakeup تو ساعت اشتباهی زمانبندی می کنه. بعد از کمی مطالعه متوجه شدم که این مسئله از اشتباه بودن Hardware Clock ناشی شده به همین دلیل شروع به خوندن منوال دستورهای date , hwclock کردم و بالاخره سعی کردم با ست کردن ساعت سخت‌افزاری به مقدار درست مسئله رو حل کنم(hwclock --set). اما مشکل اینجاست که با هر بار Sleep کردن یا ریستارت کردن سیستم دوباره مقدار اون اشتباه میشه. اگر ایده‌ای دارید که مشکل از کجاست ممنون میشم که باهام درمیون بزارید. :wink:
یه مقدار اطلاعات دیگه:

توزیع فعلی: Opensuse 12.2 kde x64

محتویات Crontab:

کد :
#Wake up the pc
00 *    * * *   root rtcwake -m no -u -t $(date +%s -d 'tomorrow 01:58')
#Start the Bittorrent client
00 2    * * *   rotar   /usr/bin/ktorrent &
#Sleep!
00 7    * * *   root    pm-suspend
با توجه به اینکه تو بایوس ساعت رو به صورت UTC وارد کردم این خروجی‌ها رو دارم:

کد :
$date
Sun Mar 17 21:43:02 IRST 2013

کد :
$date -u
Sun Mar 17 18:14:11 UTC 2013
کد :
#hwclock --show
Sun 17 Mar 2013 09:45:36 PM IRST  -0.981589 seconds
و در نهایتم یه نمونه از خروجی rtcwake:

کد :
# rtcwake -m no -u -t $(date +%s -d 'tomorrow 01:58')
rtcwake: wakeup using /dev/rtc0 at Sun Mar 17 22:28:00 2013
اگه ساعت‌ت را روی UTC تنظیم کردی که وقتی زمان بیدار شدن را تنظیم می‌کنی اون هم باید به وقت UTC باشه.
sadeqn نویسنده :اگه ساعت‌ت را روی UTC تنظیم کردی که وقتی زمان بیدار شدن را تنظیم می‌کنی اون هم باید به وقت UTC باشه.
این قضیه رو تست کردم ، جواب نمیده.
مثلا" اگر زمان Wake up به فرض ساعت‫‫ "‫‫۰۲:۰۰ " به وقت محلی باشه معادل UTC اون میشه‫ "۲۱:۳۰" روز قبل. اما برای اینکه دستور rtcwake درست کار کنه باید زمان رو به این صورت وارد کنم‫‫ "۰۶:۳۰" . کلن خیلی عجیبه!

پ.ن: معذرت می خوام که دیر جواب دادم. برای پستت نوتیفی‌کیشن نگرفتم.