Bài đăng

Đang hiển thị bài đăng từ 2017

[vmware workstation] Ngăn máy ảo tự động pause

Sau một khoảng thời gian hoạt động, máy ảo thường tự động pause, ảnh hưởng khá nhiều khi làm các công việc cần đợi loading trong thời gian dài trên máy ảo. Cách xử lý: - Trên máy ảo: Control Panel\Hardware and Sound\Power Options --> chuyển sang High perfomanent - Trên máy vật lý: truy cập setting trên màn hình vmware của máy ảo, chọn Options --> power --> Bỏ chọn Report battery infomation to guest (nếu nó đang mờ sẵn rồi thì thôi) Enjoy!

[Crontab python] Lỗi cx_Oracle khi chạy python từ crontab của linux

Script python chạy ngon lành cành đào, nhưng chạy bằng crontab toàn xịt Kiểm tra log chạy crontab (/var/mail/root) báo lỗi sau: DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory" Lỗi này do cx_Oracle không tìm thấy thư viện oracle client, do các biến môi trường khai báo ở .bash_profile, crontab không load các biến này lên. Khắc phục bằng cách thêm viết 1 file .sh để chạy script python: <code>#!bin/bash ORACLE_HOME=/usr/lib/oracle/12.2/client64 PATH=$ORACLE_HOME/bin:$PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORACLE_HOME export LD_LIBRARY_PATH export PATH cd /opt/app_epay/bao_cao_truc python2 bao_cao_truc.py</code> Cấu trúc tương tự như trên, phần đầu tiên sử dụng để bổ sung hết các biến cần thiết, sau đó mới chạy. Ngoài ra, còn một cách khác nữa,đó là bổ sung load file .bash_profile ngay trong crontab <code>* * * * * source /home/user/.bash_profile; <com

Cài đặt SQL Plus trên máy chủ linux

Download the matching client oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm Install rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm Set environment variables in your  ~/.bash_profile ORACLE_HOME=/usr/lib/oracle/11.2/client64 PATH=$ORACLE_HOME/bin:$PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORACLE_HOME export LD_LIBRARY_PATH export PATH Reload your  .bash_profile  by simply typing  source ~/.bash_profile  (suggested by jbass) or Log-out user and log-in again. Now you're ready to use SQL*Plus and connect your server.

[Guide] Cài đặt song song cả 2 phiên bản oracle client và 64 bit trên windows

Hình ảnh
Ông nào systemadmin nào lười, từng tự tay code app phục vụ tự động hóa các công việc nhàm nhán của mình chắc hẳn sẽ có đôi lần gặp những ca oái ăm khi kết nối tới database.  Case này mình đang gặp như sau: Bọn DB oracle có cái khổ là app 64 bit thì phải dùng client x64, app x86 thì phải dùng client x86 (mình thấy như thế, k rõ có trick gì chỗ này ko, ngu xin bỏ qua) - Máy chủ đã cài sẵn oracle client cho app (ứng dụng x64) kết nối tới DB - Trên máy chủ đã cài sẵn python 32bit, cx_Oracle, máy chủ cấm kết nối internet, nhiều app chạy python32 đang có sẵn, nên khỏi nghĩ tới việc cài thêm python hay gì. --> Cài song song cả 2 phiên bản oracle client trên máy chủ, app nền tảng nào thì sử dụng client tương ứng mà chạy Bước 1: cài đặt oracle client: - Tạo 2 thư mục C:\oracle\x64 và C:\oracle\x86 để cài đặt - Cài đặt 2 client vào đây Cài xong đại để sẽ ra được như thế này (x64 cũng tương tự nhé) Bước 2: Mở cmd với quyền admin lên gõ các lệnh sau cd C:\Windows\System32 mklink

Guidlene dành cho haproxy, một số cấu hình hay

1. HAProxy Logging Haproxy hỗ trợ custom log, bằng cách thêm cấu hình logformat như sau: log-format [%pid]\ [%Ts.%ms]\ %ac/%fc/%bc/%bq/%sc/%sq/%rc\ %Tq/%Tw/%Tc/%Tr/%Tt\ %tsc\ %ci:%cp\ %fi:%fp\ %si:%sp\ %ft\ %sslc\ %sslv\ %{+Q}r\ %ST\ %b:%s\ "%CC"\ "%hr"\ "%CS"\ "%hs"\ req_size=%U\ resp_size=%B --> ví dụ: Mar 14 17:14:51 localhost haproxy[14887]: [14887] [1394817291.250] 10/5/2/0/3/0/0 48/0/0/624/672 ---- 1.10.2.10:35701 10.151.122.228:443 127.0.0.1:8000 logger - - "GET /v1/ HTTP/1.0" 404 fxa-nodejs:nodejs1 "-" "{||ApacheBench/2.3|over-100-active-connections,over-100-connections-in-10-seconds,high-error-rate,high-request-rate,|47B4176E:8B75_0A977AE4:01BB_5323390B_31E0:3A27}" "-" "" ireq_size=592 resp_size=787 Các tham số: %pid: process ID của HAProxy %Ts.%ms: unix timestamp + milliseconds %ac: tổng số connection hiện tại %fc: tổng số connection hiện tại của frontend %bc: tổng số

Ảo hoá sử dụng Container, những điều cơ bản cần biết

Hình ảnh
1. Giới thiệu Như các bạn đã biết, trong những năm gần đây khái niệm  "Ảo hoá sử dụng container"  được nhắc đến khá nhiều. Vậy nó là cái gì, có những ưu điểm gì và sử dụng nó như thế nào. Bài viết này của mình xin được nêu những khái niệm cơ bản về "ảo hoá sử dụng Container" và so sánh với "Ảo hoá truyền thống" để chúng ta có thể dễ dàng hình dung. (lay2) 2. Ảo hoá truyền thống? (Hypervisor Virtualization) Nói đến ảo hoá truyền thống, chúng ta có thể hình dung được ngay đó chính là cách sử dụng ảo hoá thông thường mà người dùng hay lựa chọn như: VMWare, Virtual Box, Parallel... Đây chính là giải pháp rất tốt khi chúng ta muốn chạy nhiều hệ điều hành cùng một lúc trên một máy. Với giải pháp ảo hoá truyền thống. Toàn bộ hệ thống: từ Phần cứng (RAM, CPU, HDD...) cho đến Hệ điều hành đều được "ảo hoá". Đem lại trải nghiệm sử dụng gần tương đương như một máy thật (hehe) Một đặc điểm rất ưu thế nữa của giải pháp này đó là, chúng ta không cần

Hạn chế tấn công pingback bằng HAPROXY

Hình ảnh
Vừa rồi bên mình dính chưởng bị trẻ trâu ddos, phương thức tấn công là sử dụng lỗ hổng của các site wordpress để tấn công pingback. Chi tiết về tấn công pingback các bạn có thể tham khảo tại đây: https://www.acunetix.com/blog/web-security-zone/wordpress-pingback-vulnerability/ Đại để nó cho phép attacker ra lệnh từ xa cho hàng trăm nghìn đến hàng triệu các máy chủ wordpress mắc lỗi thực hiện request tới victim. Site của victim đột nhiên đón nhận lượng truy cập gấp vài trăm lần thông thường thì sụp là tất yếu. Khi phân tích log access trên máy chủ web, đều nhận thấy các request này đều có đặc điểm chung đại để như: WordPress/4.3.3; http://168.63.218.68; verifying pingback from  185.130.5.209 Thông tin nằm trong trường http-user-agent, vì vậy ta cần viết rule chặn tất cả các request cho từ khóa  wordpress trong trường http-user-agent là được Rule cho nginx:     server {         listen       1945 default_server;         listen       [::]:80 default_server;         server_name