วันศุกร์ที่ 5 มกราคม พ.ศ. 2561

การใช้งาน crontab บน Ubuntu

วิธีการใช้งาน crontab-e 

step 1: เข้า terminal แล้วก็พิมพ์  crontab -e  เพื่อสร้าง crontab ที่จะใช้งาน โดยครั้งแรกที่เรียก crontab ขึ้นมาจะเห็นเป็นไฟล์เปล่าๆ มีแค่ comment บอกรูปแบบการเขียน crontab คร่าวๆดังนี้   

#   m     h      dom     mon     dow     command

*** อธิบายเพิ่มเติมครับ  ***
---------------------------------------------------------------------------------------
Field                       มีค่า                               รายละเอียด
---------------------------------------------------------------------------------------

m(minute)                  0-59            เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง

h(hour)                     0-23           เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง

dom(day of month)          1-31           เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง

mon(month)                 1-12           เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง

dow(day of week)           0-6            วันของแต่ละสัปดาห์ มีค่าดังนี้(อาทิตย์=0,จันทร์=1,...,เสาร์=6) 

command                   คำสั่ง           เราสามารถกำหนดคำสั่งหรือ script ที่ต้องการรันลงไปได้
---------------------------------------------------------------------------------------

copy file linux command


`ตัวอย่างการ `copy file `ที่`samba\datasource  `ให้สามารถอ่านเขียนได้ เหมือนไฟล์เดิม โดยเติม `-p
cp -p  /mbase/datasource/mbase2012.exe  /mbase/datasource/backup/V.mBase2012/2561/



https://spalinux.com/2009/10/copy_preserve_file_information
  

วันเสาร์ที่ 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}