วันเสาร์ที่ 23 ธันวาคม พ.ศ. 2560

Rsync ข้ามServer แบบใช้ ssh-keygen ไม่ต้องถามมpassword ทำเป็น .sh crontab -e

การ login ข้ามเครื่องผ่าน ssh โดยไม่ต้องกรอก password

ลองผิดลองถูกมา 2วัน สรุปได้ครับ Rsync
rsync -avz –progress /mbase/datasource/Daily/day/ ssh root@192.168.200.2:/home/dump/
copy server ต้นทาง   ไปยัง server ปลายทาง
scp /root/.ssh/id_rsa.pub  192.168.200.2:/root/.ssh/authorized_keys
ตัวอย่าง
rsync -av /home/dump  m30admin@192.168.200.11:/home/m30admin
อีกแบบง่ายๆๆครับ
สำหรับ Linux 
apt install sshpass
sshpass -p 'รหัสผ่านshell' scp -r /home/test.txt root@192.168.200.11:/home/


วันศุกร์ที่ 22 ธันวาคม พ.ศ. 2560

Rsync File `ข้าม`Server




Rsync file ย้ายไฟล์ข้าม Server แบบมี Progress Bar


การย้ายไฟล์ข้ามเครื่องเซิฟเวอร์ linux นั้นอาจจะมีหลายวิธี แล้วแต่คนชอบนะครับ แต่ผมชอบใช้ rsync file
(น่าจะใช้จนชิน) เอาละ ก่อนอื่นนั้นเราต้องติดตั้ง rsync service ซะก่อน ด้วยคำสั่ง
yum install rsync
เมื่อทำการติดตั้ง service rsync เป็นที่เรียบร้อยแล้วละก็ มาทำการรันคำสั่งเพื่อย้ายไฟล์หรือโฟลเดอร์ที่ต้องการไปที่
rsync -avz –progress /ที่อยู่ไฟล์/ ip_Server:/ที่อยู่ไฟล์/
ตัวอย่าง
rsync -avz –progress /var/lib/mysql/database/ 10.0.0.2:/var/lib/mysql/database/
เพียงเท่านี้ ไฟล์จาก Server ที่เราต้องการก็จะโดนโยนย้ายไปอีก Server นึงในทันที่

MySQL Dump `ข้าม`Server





MySQL Dump ข้ามเครื่องเซิฟเวอร์


การย้ายฐานข้อมูลจากอีกเครื่องไปอีกเครื่อง อาจจะใช้ คำสั่งง่าย
# Mysqldump DATABASE_NAME > FILE.sql
แล้วนำไปโยนใส่เครื่องเซิฟเวอร์อีกเครื่องและทำการ Restore ด้วยคำสั่ง
# Mysql DATABASE_NAME < FILE.sql
แต่ทว่า เราลดระยะเวลาการโยนไฟล์ด้วยการ DUMP มันข้าม Server ไปลงฐานข้อมูลซะเลย ด้วยคำสั่ง
# Mysqldump DATABASE_NAME | ssh USER@IP_SERVER mysql -v DATABASE_NAME
ตัวอย่าง ที่ม้วงสามสิบ Pgans
# Mysqldump -u root -p1234 mapdb.deaths | sshpass -p'5843096' ssh root@192.168.200.4 
  mysql -v -u root -p1234 mapdb

โยนฐานข้อมูลออกมาซะ แล้วทำการโยนไปด้วย ssh ติดต่อเซิฟเวอร์  แค่นี้ก็ลดระยะเวลาไปได้เยอะ

วันพฤหัสบดีที่ 21 ธันวาคม พ.ศ. 2560

คัดลอก `MySQL `ข้าม`Server

MySQL] วิธีคัดลอกฐานข้อมูลจาก MySQL Server ไปยัง MySQL server อีกตัว

สิ่งที่ต้องเตรียม

  • mysqldrump.exe <-- สำหรับ drump ฐานข้อมูลออกมาเป็นไฟล์
  • mysqladmin.exe <-- สำหรับ จัดการ ฐานข้อมูล



มาลุยกันเลย!
ผมขอสมมติ
server1 (ตัวที่ต้องการย้ายหรือคัดลอกฐานข้อมูล)
server2 (ตัวใหม่ที่ต้องการเอาข้อมูลมาลง)

ณ server2 เปิด command prompt ขึ้นมาเลยครับ แล้วพิมพ์ตาม command ด้านล่างเลยครับ

วิธีคัดลอกฐานข้อมูล MySQL ไปยัง Server อื่น กรณียังไม่ได้สร้าง database สร้าง database ก่อน

c:\Appserv\MySQL\bin\mysqladmin create {database_name}

วันศุกร์ที่ 8 ธันวาคม พ.ศ. 2560

mayonnaise

mayonnaise  pgans:::xxokp=k9iuxx
ด้ามขวาน`::::::pgan::::::::xxxxgan2514XZZZZ
ร่มโพธิ์คำ :::::pgan::::::::xxxxgan2514XZZZZ

วันศุกร์ที่ 24 พฤศจิกายน พ.ศ. 2560

วันพุธที่ 22 พฤศจิกายน พ.ศ. 2560

ปรับ ขนาดการ `import `ไฟล์ขนาดใหญ่ ผ่าน phpmyadmin `

ปรับ ขนาดการ `import `ไฟล์ขนาดใหญ่ ผ่าน phpmyadmin `
for ubuntu 14.04 use this:
  • 1- open php.ini using gedit or nano:
  • sudo gedit /etc/php5/apache2/php.ini
  • 2- find 'upload_max_size' then replace this single line with these lines:
  • max_execution_time = 259200 max_input_time = 259200 memory_limit = 1000M upload_max_filesize = 750M post_max_size = 750M
  • 3- save php.ini and close editor
  • 4- restart apache2:
  • sudo service apache2 restart
  • 5- now open
  • localhost://phpmyadmin/
  • in browser and uplaod your database.sql

    https://stackoverflow.com/questions/9593128/cant-import-database-through-phpmyadmin-file-size-too-large/16960421

    วันศุกร์ที่ 17 พฤศจิกายน พ.ศ. 2560

    yii2 `ส่ง `Line Notify

    `ใส่ใน `Controller `นะครับ


     public function sendLine($model)  {

                $line_token = 'You Token';
             

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL,"https://notify-api.line.me/api/notify");
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, "message=".$model->name);ตรงนี้คือ`Field `ที่จะส่งข้อความไป`Line
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                curl_setopt($ch, CURLOPT_HTTPHEADER, [
                    'Content-type: application/x-www-form-urlencoded',
                    'Authorization: Bearer '.$line_token,
                ]);

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

                $server_output = curl_exec ($ch);

                curl_close ($ch);
            }


    `และตรงทีโฟสต์ `actionCreate
    เพิ่ม 

    public function actionCreate()
        {
            $model = new Recommend();

            if ($model->load(Yii::$app->request->post()) && $model->save()) {
                Yii::$app->getSession()->setFlash('alert',[
                    'body'=>'ข้อเสนอแนะบันทึกเสร็จเรียบร้อย! เจ้าหน้าที่จะดำเนินการให้เร็วที่สุด....ขอบคุณค่ะ',
                    'options'=>['class'=>'alert-warning']
                ]);
                //$this->sendLine($model);
                $this->sendLine($model);`//`ส่ง `Line Notify
                return $this->redirect(['create', 'id' => $model->id]);


                return $this->redirect(['create', 'id' => $model->id]);
            } else {
                return $this->render('create', [
                    'model' => $model,
                ]);
            }
        }


    `ขอขอบคุณ อาจารย์ มานพ กองอุ่น  https://www.youtube.com/watch?v=YQKX2KedX5U&t=605s

    วันจันทร์ที่ 6 พฤศจิกายน พ.ศ. 2560

    การเพิ่ม ฟิลด์ในตาราง user



    ALTER TABLE `user` ADD  enum('EMPLOYEE','USER','ADMIN') NOT NULL


    • ROLE_USER เท่ากับ "USER" หมายถึง สิทธิ์สำหรับสมาชิกเท่านั้น
    • ROLE_EMPLOYEE เท่ากับ "EMPLOYEE" หมายถึง สิทธิ์สำหรับพนักงานเท่านั้น
    • ROLE_ADMIN เท่ากับ "ADMIN" หมายถึง สิทธิ์สำหรับผู้ดูแลระบบเท่านั้น

    วันพุธที่ 23 สิงหาคม พ.ศ. 2560

    `หาวัสดุคอมพิวเตอร์SQL

    select a.ivt_id, b.ivt_name, sum(a.quantity) AS amount, d.uunit_name, avg(a.pack_price) AS avg_price from order_details a, inventory b, invoices c, ivt_units d where c.ivs_date between '2016.10.01' and '2017.09.30' and a.ivs_id = c.ivs_id and a.ivt_id = b.ivt_id and b.ivc_id = '04' and c.exp_id = '013' and a.uunit_id = d.uunit_id group by a.ivt_id order by b.ivt_name

    วันพุธที่ 16 สิงหาคม พ.ศ. 2560

    Active Form `ส่งตัวแปร ไปยัง`Action `ในController

    $this->title = "DEP_REGIPD";
    //$this->params['breadcrumbs'][] = ['label' => 'รายงาน', 'url' => ['reg/index']];
    $this->params['breadcrumbs'][] = 'รายงานผู้ป่วยในแยกตามแผนก';
    ?>
    <b style = "color:blue">รายงานผู้ป่วยในแยกตามแผนก</b>
    <div class='well'>
         <?php $form = ActiveForm::begin([
        'method' => 'POST',
        'action' => ['reg/depregipd'],
    ]); ?>
            <?php
            $items = ArrayHelper::map(MbIpdreg::find()->all(), 'UNIT_ID', 'UNIT_NAME');
            echo Html::dropDownList('unitid', $unitid, $items, ['prompt' => '--- หน่วยบริการ ---']);
            ?>
           

    วันเสาร์ที่ 8 กรกฎาคม พ.ศ. 2560

    การใช้งาน GridView และการปรับแต่ง Columns

     <?= GridView::widget([
          'dataProvider' => $dataProvider,
          'filterModel' => $searchModel,
          'columns' => [
            [
              'attribute' => 'created_at',
              'value'=>function($model){
                return $model->title.$model->firstname.' '.$model->lastname;
              }
            ]
            // ...
          ],
      ]); ?>
    
    
    
    
    http://dixonsatit.github.io/2015/07/06/gridview.html

    วันพฤหัสบดีที่ 6 กรกฎาคม พ.ศ. 2560

    Model Generator(มานพ)

    Model Generator

    This generator generates an ActiveRecord class for the specified database table.
    common\models
    yii\db\ActiveRecord
    db
    All relations
    default (/var/www/html/yii2a-devices/vendor/yiisoft/yii2-gii/generators/model/default)

    วันอังคารที่ 4 กรกฎาคม พ.ศ. 2560

    GRUD GENERATOR

    CRUD Generator

    This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) operations for the specified data model.
    Class 'common\models\Permit' does not exist or has syntax error.
    yii\web\Controller
    GridView
    default (/var/www/html/yii2a-devices/vendor/yiisoft/yii2-gii/generators/crud/default)

    วันจันทร์ที่ 3 กรกฎาคม พ.ศ. 2560

    model generator

    Model Generator

    This generator generates an ActiveRecord class for the specified database table.
    app\modules\opdcard\models//pathที่เราต้องการนำไปไว้
    yii\db\ActiveRecord
    db
    All relations

    วันอังคารที่ 20 มิถุนายน พ.ศ. 2560

    การใช้งาน Ghost

    ขั้นตอนการ restore จากโปรแกรม Ghost



    ขั้นนตอนการ BACKUP
    1.    ตั้งค่าเครื่องคอมพิวเตอร์ให้ Boot เครื่องไปที่ CD-ROM

    2.    ให้พิมพ์คำสั่ง ?ghost? แล้ว enter เพื่อเรียกโปรแกรม Norton  ghost

    3.    จะปรากฏดังภาพ ให้คลิ๊กที่ปุ่ม OK
    4.    เลือกที่เมนูที่ต้องการ

    4.1 Disk

    วันพฤหัสบดีที่ 15 มิถุนายน พ.ศ. 2560

    update m30.phoubon.in.th 25600614

    ##1234##m30_m30
    #########m30.phoubon.en.th/phpmyadmin##########
    u:m30_fct  p:##m30##

    Navicat Ubuntu Elementary ตั้งค่า`Fonts `ภาษาไทย

    ก่อนอื่นเราต้อง Copy `ฟอนต์    Tahoma  ไปลงที่ `/media/user/.wine/windows/fonts  แล้วตั้งค่าตามภาพ

    เวลาบันทึก `Query  ก็สามารถใส่ชื่อเป็นภาษาไทยได้ ครับ

    วันพุธที่ 24 พฤษภาคม พ.ศ. 2560

    SQL

    SELECT
    h.hoscode,h.hosname
    ,(select COUNT(DISTINCT p.HOSPCODE,p.PID) from person p where p.HOSPCODE = h.hoscode
    AND p.typearea in (1,3)
     ) as 'ประชากรทั้งหมด'
    ,(select COUNT(DISTINCT p.HOSPCODE,p.PID) from person p where p.HOSPCODE = h.hoscode
       AND p.typearea in (1,3) AND p.RELIGION = 1
      ) as 'นับถือศาสนาพุทธ'
    ,(select COUNT(DISTINCT p.HOSPCODE,p.PID) from person p where p.HOSPCODE = h.hoscode
       AND p.typearea in (1,3) AND p.RELIGION != 1
      ) as 'นับถือศาสนาอื่นๆ'
     from chospital_amp h

    วันศุกร์ที่ 5 พฤษภาคม พ.ศ. 2560

    Rollup Function รวม Count

    SELECT CASE WHEN (GROUPING(NAME) = 1) THEN 'SUM'
                ELSE ISNULL(NAME, 'UNKNOWN')
           END Name, 
          COUNT(1) as Cnt
    FROM Table1
    GROUP BY NAME
    WITH ROLLUP
    name                                               count
    -------------------------------------------------- -----------
    alpha                                              1
    beta                                               3
    Charlie                                            2
    SUM                                                6

    วันจันทร์ที่ 13 มีนาคม พ.ศ. 2560

    วันพุธที่ 22 กุมภาพันธ์ พ.ศ. 2560

    `การสร้าง `Controller Generator Yii2

    Controller Generator

    This generator helps you to quickly generate a new controller class with one or several controller actions and their corresponding views.
    yii\web\Controller
    default (/var/www/html/yii2a-devices/vendor/yiisoft/yii2-gii/generators/controller/default)
     
    Click on the above Generate button to generate the files selected below:
    Code FileAction
    controllers/LrController.phpunchanged
    views/lr/index.phpunchanged