Biraz önce forumumuzun başına geldi, yanlış sistem saatini düzelttik vbulletin sapıttı, bu durumda ne yapmak lazım:
Ben bunları yaptım, ek olarak yapılması gerekenler olabilir, ancak bunların yeterli olduğu kanısındayım:
Senaryo: Sistem saati 2008-01-08 21:53 ü gösteriyordu oysa saat aslında 2008-01-08 16:40 idi, düzelttim şimdi sistem saat doğru. Ama MySQL içindeki vbulletin mesaj saatleri eski saati gösteriyor...
Serverinizin sistem saati ile gerçek sistem saati arasındaki saniye farkını hesap edin, örneğin fark 5 saat 51 dk olsun bu da 21181 sn ye tekabül etsin.
Şimdi vb deki hatalı saatleri düzeltmek için update edeceğimiz mesaj aralığını hesaplayalım.
Basitçe şu anki doğru saate 20dk ekleyelim '2008-01-08 17:00'
En son postalanan mesaj tarihi de '2008-01-08 21:53' olsun
-- post tablosunu update et
Kod:
UPDATE `post` set dateline = dateline - 21181
WHERE FROM_UNIXTIME(dateline) between
'2008-01-08 17:00' AND '2008-01-08 21:53';
-- thread tablosunu update et
Kod:
UPDATE `thread` set dateline = dateline - 21181
WHERE FROM_UNIXTIME(dateline) between
'2008-01-08 17:00' AND '2008-01-08 21:53';
-- private mesaj tablosunu update et
Kod:
UPDATE `pmtext` set dateline = dateline - 21181
WHERE FROM_UNIXTIME(dateline) between
'2008-01-08 17:00' AND '2008-01-08 21:53';
-- search tablosunu update et
Kod:
UPDATE `search` set dateline = dateline - 21181
WHERE FROM_UNIXTIME(dateline) between
'2008-01-08 17:00' AND '2008-01-08 21:53';
Ek olarak memcacehd kullanıyorsanız bu şekilde yeniden başlatın, memcached de sapıtıyor:
Bu komut memcached in process id sini verir
# ps -ef | grep memcached | grep -v grep|awk '{print $2}'
memcached Prosesini öldürün
# kill ekranda_cikan_process_id
memcached Prosesini başlatın
# /usr/local/bin/memcached -u nobody -d -m 64 -l 127.0.0.3 -p 11211