CARI Infonet

 Forgot password?
 Register

ADVERTISEMENT

View: 2638|Reply: 10

Notify kalau ada data field yang berubah

[Copy link]
Post time 19-5-2011 10:42 AM | Show all posts |Read mode
Post Last Edit by sadiq_segaraga at 19-5-2011 10:48

Sejahtera atas kamu

Aku ada gunakan satu system opensource IT hardware/software inventory yang mana system akan update info mengenai hardware/software setiap kali orang login ke Active Directory kitaorang.
System ni power gak sebab semua hardware dan software dia detect dan masuk dalam database. Aku nak menambahbaikkan sikit system ni dan mintak nasihat korang pasal aku baru 1 tahun guna php dan tahu yang simple simple aja.

Apa yang aku nak baikpulihkan ialah setiap kali ada perubahan pada field field tertentu, contoh: memory size atau harddisk size, ada notification (email) pada aku sebagai administrator.

Ada idea tak nak guna command apa?

Contoh field untuk table utama adalah seperti berikut:

system_num_processors
system_memory
system_build_number
net_ip_address
system_uuid
net_domain
net_user_name
net_client_site_name
net_domain_controller_address
net_domain_controller_name
system_model
system_name
system_part_of_domain
system_primary_owner_name
system_system_type
system_id_number
system_vendor
system_boot_device
system_os_type
system_os_name
system_country_code
system_description
system_organisation
system_language
system_registered_user
system_serial_number
system_service_pack
system_version
system_windows_directory
system_timestamp
system_first_timestamp

Primary dia ialah system_uuid


Sebab aku ada full access pada database ni, script notification ni tak perlu diedit dari system yang asal. Just aku nak create cronjob notify aku setiap pagi mana mana komputer yang berubah hardware specificationnya.
Reply

Use magic Report


ADVERTISEMENT


Post time 19-5-2011 11:03 AM | Show all posts
Reply 1# sadiq_segaraga


    kalau becadang nk gunakan dalam .net  mungkin leh cadangkan wat window application jee...
guna class system.threading.. running as background services.. dan mungkin leh masokkan function yg
akan read and send notification... lebey kurang mcm

sub main
check_record
send_notifiy (ex: smtp.send(message))
syste.threading.thread.sleep({time})
call main()
end sub

so dia akan running ikut kita set {time}
Reply

Use magic Report

 Author| Post time 19-5-2011 11:09 AM | Show all posts
Reply 2# bowring


    Thanks bowring for the quick reply but aku tak reti langsung .net ni.. yang aku tahu cuma php aja .. hehe - tu pun belajar sendiri dari internet.
Reply

Use magic Report

Post time 19-5-2011 08:29 PM | Show all posts
Reply 3# sadiq_segaraga


    quick reply ke? kebetulan kot pagi td:-D... huhu.. dan sy plak xtahu PHP...

sebenarnya leceh juga keje nya nih...

sbb yg nk di cari, bukanlh rekod yg di update..
tp yg nak di cari adalah value field yg tidak sama dengan rekod yg sebelumnya..

kalo kita ada complete sourcecode... apa kata create je function baru ...

function (info as getnewinfoFromPC , oldinfo as getOldRekodFromDB)
for each info <> oldinfo
   update rekod
   send notification
next..

.: di atas hanya sekadar idea.. bukan syntax betol..
Reply

Use magic Report

Post time 23-5-2011 12:49 AM | Show all posts
Try pakai database trigger...kebanyakkan database skrg sume da ada feature ni...sbb ko ckp psl php...aku assume ko pakai MySQL ar...kalau MySQL version 5 ke atas rasa nye trigger ni da ada...
Reply

Use magic Report

Post time 23-5-2011 03:29 AM | Show all posts
Reply 5# digitalgunner

mm.. kalo create trigger.. mcm mana procedure yg kita nk create dan trace datafield berubah eh???

sbb apa yg saya faham.. sistem TT nih dia akan update rekod when user log on active directory ..

jd ada kemungkinan sistem update rekod.. tp datafield/datavalue tetap sama dengan rekod sebelumnya...

mm.. hah TuanTanah... mcm mana function sistem ko update rekod?? bila update dia akan check x rekod lama sama atau x?..
ataupon dia men updateeeee jee...
Reply

Use magic Report

Follow Us
 Author| Post time 23-5-2011 01:01 PM | Show all posts
Reply 5# digitalgunner


    Yep..memang pakai mysql ver 5.1.3. Nanti aku try google pasal trigger tu.
Reply

Use magic Report

 Author| Post time 23-5-2011 01:03 PM | Show all posts
Reply 6# bowring

Itulah masalahnya... nak tahu ada update atau tak, mestilah kena compare rekod baru ngan rekod lama kan?

System ni update bila user login Active directory.. bila user login, dia akan run script check hardware/software dan update semua field. So nak compare camna ya?
Reply

Use magic Report


ADVERTISEMENT


Post time 24-5-2011 01:20 AM | Show all posts
Reply 8# sadiq_segaraga


dh study/google2 lebey mendalam psl trigger tp dlm ms sql lar... very interestingg.. boleh buat rasanya...
tp dlm mySQL rasanya xdpt den nk godek2 lebey2..


kene tunggu respon drp pengguna mySQL yg lebey berpengalaman... heeee...
dh dpt cara share lh.. sharing is caring=)
Reply

Use magic Report

Post time 17-7-2011 03:56 AM | Show all posts
kalu php/mysql, aku punya idea:

1. kat table tu, for each field yg nak monitor, tambah lagi satu field panggil field_nak_monitor_old_value
2. create trigger after update, set field_nak_monitor_old_value = old.field_nak_monitor
3. create php (bukan utk display kat web, tapi run kat command line) yg akan baca table.
if (field_nak_monitor_old_value != field_nak_monitor) {
e-mail bagitau changes
update database field_nak_monitor_old_value = field_nak_monitor
4. run cron file php tadi.

jgn lupa utk write kat log file apa yg php tu buat & apa2 error yg mungkin jadi so senang nak troubleshoot.

pakai navicat senang jer nak create trigger. tak yah study apa2 pun. kalau trigger tu lebih dari 1 statement, just taruk begin & end kat atas dgn bawah. jgn lupa taruk semi colon after each statment.
Reply

Use magic Report

Post time 17-7-2011 04:00 AM | Show all posts
contoh trigger pakai navicat

Reply

Use magic Report

You have to log in before you can reply Login | Register

Points Rules

 

ADVERTISEMENT



 

ADVERTISEMENT


 


ADVERTISEMENT
Follow Us

ADVERTISEMENT


Mobile|Archiver|Mobile*default|About Us|CARI Infonet

24-4-2024 07:23 PM GMT+8 , Processed in 0.090031 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

Quick Reply To Top Return to the list