3/28/2017

ปัญหา Zimbra ใช้ syslog-ng แล้วไม่ส่ง Log ไปที่ LogServer

ปัญหา Zimbra ใช้ syslog-ng แล้วไม่ส่ง Log ไปที่ LogServer

แก้โดยใช้ rsyslog ส่งแทน
- ติดตั้ง
  1. apt-get install -f rsyslog

- แก้ config
  1. nano /etc/rsyslog.conf

แก้
ลบ # ออก
  1. # provides UDP syslog reception
  2. $ModLoad imudp
  3. $UDPServerRun 514


เพิ่ม
  1. *.*   @@192.168.2.108:514


- Run คำสั่ง
  1. /opt/zimbra/libexec/zmsyslogsetup



Ubuntu : คำสั่งดูขนานไฟล์ ใน Usb Box Backup

Ubuntu : คำสั่งดูขนานไฟล์ ใน Usb Box Backup
ดูขนาดไฟล์ทั้งหมด ใน Box cd เข้า Usb Box ก่อน
  1. ls -lah
-rwxrwxrwx 1 root root 28M Mar 27 17:50 DataServer_20170327.full.0.BlankForm.tar.gz
-rwxrwxrwx 1 root root 3.2G Mar 27 22:57 DataServer_20170327.full.0.CEOs.tar.gz
-rwxrwxrwx 1 root root 44G Mar 27 19:00 DataServer_20170327.full.1.Team.tar.gz
-rwxrwxrwx 1 root root 28G Mar 27 19:33 DataServer_20170327.full.2.Quality.tar.gz
-rwxrwxrwx 1 root root 36G Mar 27 20:35 DataServer_20170327.full.3.SS.tar.gz
-rwxrwxrwx 1 root root 101G Mar 27 22:51 DataServer_20170327.full.4.e-document.tar.gz


ดูขนาดไฟล์รวมทั้งหมด
  1. cd -ch
root@ha1:/mnt/USB/20170327_Full# du -ch
74M ./DataServerSnap
643G .
643G total


ดูขาดไฟล์เฉพาะที่มีชื่อ ตรงกัน เช่น Department
  1. du -ch *Department*
root@ha1:/mnt/USB/20170327_Full# du -ch *Department*
8.7G DataServer_20170327.full.5.Department.00-Public.tar.gz
25G DataServer_20170327.full.5.Department.01-ฝข.1.tar.gz
3.5G DataServer_20170327.full.5.Department.01-งขต.1.tar.gz
1.6G DataServer_20170327.full.5.Department.01-งขต.2.tar.gz
86M DataServer_20170327.full.5.Department.01-งสข.tar.gz
202M DataServer_20170327.full.5.Department.01-งซต.tar.gz
1.5G DataServer_20170327.full.5.Department.02-งอบ.1.tar.gz
13G DataServer_20170327.full.5.Department.02-งอบ.2.tar.gz
3.9G DataServer_20170327.full.5.Department.02-ฝอบ.tar.gz
4.5G DataServer_20170327.full.5.Department.03-ฝจห.tar.gz
1.8G DataServer_20170327.full.5.Department.03-งจล.tar.gz
21G DataServer_20170327.full.5.Department.03-งจซ.tar.gz
8.2G DataServer_20170327.full.5.Department.04-ฝปค.tar.gz
20G DataServer_20170327.full.5.Department.05-รง.1.tar.gz
1.4G DataServer_20170327.full.5.Department.05-รง.2.tar.gz
89G DataServer_20170327.full.5.Department.05-ฝผล.tar.gz
91G DataServer_20170327.full.5.Department.06-ฝซร.tar.gz
2.8G DataServer_20170327.full.5.Department.06-งบก.tar.gz
8.7G DataServer_20170327.full.5.Department.06-งซร.tar.gz
7.7G DataServer_20170327.full.5.Department.07-ฝทง.tar.gz
35G DataServer_20170327.full.5.Department.07-งบง.tar.gz
5.1G DataServer_20170327.full.5.Department.07-งทส.tar.gz
19G DataServer_20170327.full.5.Department.08-ฝพอ.tar.gz
4.4G DataServer_20170327.full.5.Department.08-งสส.tar.gz
12G DataServer_20170327.full.5.Department.08-งสป.tar.gz
30G DataServer_20170327.full.5.Department.08-งพม.tar.gz
5.3G DataServer_20170327.full.5.Department.09-ฝข.2.tar.gz
481M DataServer_20170327.full.5.Department.10-ฝคส.tar.gz
4.6G DataServer_20170327.full.5.Department.10-งวผ.tar.gz
8.3G DataServer_20170327.full.5.Department.10-งคส.tar.gz
432G total

3/20/2017

Axapta : Error Incorrect rounding of amount. ตอนจะ Post เอกสาร หรือ ตอน Validate

Axapta : Error Incorrect rounding of amount. ตอนจะ Post เอกสาร หรือ ตอน Validate


เกิดจาก
จำนวนเงินของยอดที่จองใน Line กับยอดเงินที่คงเหลืออยู่ใน On-hand คำนวณแล้วไม่ลงตัวหรือเหลือเศษใน Inventrory

แก้โดย
เวลาจองต้องแก้จำนวนให้เท่ากับราคาของที่เข้ามา หรือราคาเดียวกับยอดเงินใน batch ที่จะจอง แล้วจองใหม่
บางครั้งจองได้ราคาเดิมก็ต้องแก้ราคาเองให้ตรงกับความเป็นจริง เอาราคา Cost amount ที่ ปุ่ม Inventory ---> Transaction
จึงจะ Post ผ่าน

Ubuntu : cannot umount USB External

Ubuntu : cannot umount USB External
  1. umount /mnt/USB

show error :
umount: /mnt/USB: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)


เพราะว่ามี Processes อื่นใช้งานอยู่ ตั้ง kill processes นั่นก่อน
  1. sudo fuser -km /mnt/USB

show
/mnt/USB: 21038c 30447c

21038 is processes use USB Box.
  1. kill 21038



https://chrisjean.com/forcing-a-device-to-unmount-in-ubuntu-linux/

3/08/2017

Pfsense : ตั่งค่าให้มี Email เตือน Alert

Pfsense : ตั่งค่าให้มี Email เตือน Alert
Menu :
System --> Advanced --> Notifications

smtp server: smtp.gmail.com
Secure SMTP Connection:
Enable STARTTLS with ports 587
From e-mail address: xxx@gmail.com
E-Mail address (destination): xxx@yahoo.com
E-Mail auth username: xxx@gmail.com
E-Mail auth password: ***


ยังไม่มีวิธีเลือกให้แจ้งเตือน หรือแจ้งเตือนตอน Login ต้องรอ Update
https://www.bytesizedalex.com/pfsense-e-mail-notifications-with-google-gmail/

PHP : PHP TCPDF กำหนดชิดขอบบน และขอบล่าง

PHP : PHP TCPDF กำหนดชิดขอบบน และขอบล่าง
  1. /*set margins*/
  2. //$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  3. $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP-15, PDF_MARGIN_RIGHT);
  4.  
  5.  
  6. /*set auto page breaks*/
  7. //$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
  8. $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM-15);
  9.  

3/04/2017

Line Notify

Line เปิดให้บริการที่ชื่อว่า Line Notify ซึ่งทำให้สามารถส่งข้อความหาบุคคลหรือกลุ่มได้
1.สมัครใช้บริการที่ https://notify-bot.line.me/my/
2.สร้าง Token โดยตั้งชื่อซึ่งจะใช้เป็นชื่อผู้ส่งข้อความ และเลือกบุคคลหรือกลุ่มที่ต้องการส่งข้อความถึง แล้วคลิก ออก Token
3.นำ Token ไปเขียน code สำหรับส่งข้อความ เช่น
  1. <?php
  2. define('LINE_API',"https://notify-api.line.me/api/notify");
  3.  
  4. $token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //ใส่Token ที่copy เอาไว้
  5. //$str = "Hello"; //ข้อความที่ต้องการส่ง สูงสุด 1000 ตัวอักษร
  6. $str = $_GET["msg"];
  7.  
  8. $res = notify_message($str,$token);
  9. print_r($res);
  10. function notify_message($message,$token){
  11.  $queryData = array('message' => $message);
  12.  $queryData = http_build_query($queryData,'','&');
  13.  $headerOptions = array(
  14.          'http'=>array(
  15.             'method'=>'POST',
  16.             'header'=> "Content-Type: application/x-www-form-urlencoded\r\n"
  17.                       ."Authorization: Bearer ".$token."\r\n"
  18.                       ."Content-Length: ".strlen($queryData)."\r\n",
  19.             'content' => $queryData
  20.          ),
  21.  );
  22.  $context = stream_context_create($headerOptions);
  23.  $result = file_get_contents(LINE_API,FALSE,$context);
  24.  $res = json_decode($result);
  25.  return $res;
  26. }
  27. ?>

4.เพิ่ม Account ของ Line Notify เป็นสมาชิกในกลุ่มนั้น
5.เรียกใช้ code แล้วจะได้ json บอกผลลัพธ์มา

ตัวอย่างการใช้งาน :
6.แจ้งเตือนเมื่อมีการ login เข้า server (เพิ่ม code เข้าไปที่ .profile หรือ .bash_profile)
  1. curl -X POST -H 'Authorization: Bearer [xxxxxxxxxxxxxxxxxxx]' -F 'message=Somebody login to server' https://notify-api.line.me/api/notify

หรือ
  1. wget --no-check-certificate 'https://intranet.sci.com/sci/Line/notify.php?msg=Somebody%20login%20to%20Server'

หรือ
  1. curl --insecure 'https://intranet.sci.com/sci/Line/notify.php?msg=Somebody%20login%20to%20Server'

วิธีเปลี่ยน hostname ของ Raspberry Pi

วิธีเปลี่ยน hostname ของ Raspberry Pi
1. edit local host via sudo nano /etc/hosts
2. edit hostname via sudo nano /etc/hostname
3. update the hostname initialization via sudo /etc/init.d/hostname.sh

Axapta : คำสั่งผลิต Post Jobcard ไม่ได้ Error : Job does not exist

Axapta : คำสั่งผลิต Post Jobcard ไม่ได้ Error : Job does not exist. ตามรูป

เกิดจาก
การนำคำสั่งผลิตเก่าที่สร้างไว้นาน ๆและสร้าง Jobcard ไว้นาน ๆ มาทำต่อ
ทำให้ Job identification ไม่มี อาจจะเกิดจากการ Update start หรือ Update Job Scheduling ทำให้ Job identifation เปลี่ยนไป
ลอง New บรรทัดใหม่ แล้วเลือก Job identification จะได้เลขใหม่ ซึ่งเลขเดิมที่คีย์ไว้นั้นไม่มี

แก้โดย
วิธีที่ 1. ลบ Jobcard ใน Line ออกให้หมดแล้วคีย์ใหม่

วิธีที่ 2. แต่ถ้ามีเยอะ ใช้วิธีแก้ข้อมูลที่ Table ProdJournalRoute ก็ได้ (ทดลองทำใส Local ก่อนทำในของจริง ลอง Reports ดูด้วยว่าเกิดต้นทุนถูกต้องหรือไม่ใน Transaction ของ Item นั้น ๆ)
โดย
- จด Journal ID , Job identification ปัจจุบัน, Job identification ใหม่ที่ได้จากการ New Line ดูให้ดี ถ้ามีเลขเหมือนกันให้เข้าไปดู Job type ตรง Tab General
บาง Line จะเหมือนกัน แถวสุดท้ายจะไม่เหมือนจะเป็น Set up เลขจะเปลี่ยนไป
(จดให้เสร็จก่อนแล้วค่อยไปแก้ทีเดียวจะได้ไม่งง)
เช่น

- เข้า SQL Enterprise Manager เลือก Table ProdJournalRoute
ใช้คำสั่ง SQL โดยใช้ JorunalID ที่จดมา
  1.  
  2. SELECT * FROM PRODJOURNALROUTE
  3. WHERE (JOURNALID = ' JorunalID ที่จดมา ')
  4.  

- แก้ข้อมูลช่อง JOBID เป็นตัว Job identifcation ใหม่ ดูดี ๆ ให้ตรงกัน
- เสร็จแล้วลอง Validate ดู
แล้วแจ้งให้ User ดำเนินการต่อ

3/01/2017

Windows 10 : Driver Kyocera Mita KM-2050 สำหรับ Windows 10

Windows 10 : Driver Kyocera Mita KM-2050 สำหรับ Windows 10
นำ Driver จาก Web Kyocera มาติดตั้งแล้ว Font ที่เป็น Angsanaupc Print ออกมาเพี้ยนเป็นตัวหนาและเอียง
เป็น Driver Universal ถ้าบังคับหรือเปลี่ยนให้เป็น Driver KM-2050 ให้ตรงรุ่น LibreOffice จะ Print ไม่ได้จะปิดตัวเองเมื่อเลือก Printer
Driver :
https://www.kyoceradocumentsolutions.eu/index/service/dlc.false._.KM2050._.EN.html

วิธีแก้
- ลบ Printer ที่ติดตั้งตาม Driver ข้างบนออก
- ปล่อย IP ของเครื่องให้ออก Net ตรง เพื่อ Update Driver จาก Windows 10
- เข้า หน้า Printer เลือก Add Printer แล้วเลือก The printer that I want isn't listed
- Add Printer เลือก Add TCP/IP เพื่อใส่ IP ใหม่ หรือถ้ามีอยู่แล้วก็เลือก Add a local printer or network ...
- เลือก Device type เป็น TCP/IP Device แล้ว ใส่ Hostname or IP address ที่เราต้องการ


- เลือก Windows Update เพื่อให้ Download Driver จาก Windows 10 (จะใช้เวลาสักพักในการหา Driver ที่ต้องการ)

- เมื่อเจอ Driver ให้เลือก Kyocera และเลือก Printer เป็น Kyocera Mita KM-2050 KZ (KYOCERA Document Solutions) แล้วกด Next กด Finish ตามรูป
- เมื่อเสร็จแล้วจะได้ Printer ตรงรุ่น


สามารถ Print ได้ตามปกติ