1. Install sshpass สำหรับ Run คำสั่ง ssh แบบใส่รหัสในคำสั่ง
- apt-get install sshpass
2. ตัวอย่าง Code อ่านค่าพื้นที่ HDD สร้าง script.sh
- nano script.sh
Insert Code
- #!/bin/bash
- sshpass -p 'PASSWORD' ssh user@IPSERVER REMOTE 'df -h /dev/sda1 &> /home/sa/output.txt'
ได้ไฟล์ Text ไปใช้งานต่อ
3. อ่านขนาดไฟล์จากเครื่อง QNAP
- #!/bin/bash
- sshpass -p 'PASSWORD' ssh user@IP QNAP 'cd /share/CACHEDEV1_DATA/backup/; ls -lah *.gz > output.txt'
ได้ข้อมูลใน File Text ไปใช้งานต่อ
หรือตั้ง Crontab ที่ QNAP หรือ Server เครื่องอื่น ๆ ให้ส่งค่าไป
- #!/bin/bash
- Days=`date +%Y%m%d`;
- cd /share/CACHEDEV1_DATA/backup/
- rm *output.txt
- ls -s -h *.gz > $Days.output.txt
- scp $Days.output.txt sa@192.168.2.101:/www/intranet/sci/CheckServer/
- mkdir $Days
- mv *.gz $Days
- crontab -e
- 0 6 * * * bash /share/CACHEDEV1_DATA/backup/CheckFile.sh
4. SCP จาก Qnap ไปที่ Intranet แบบไม่ต้องใส่รหัส Set authorized_keys
https://intranet.sci.com/blog.php?u=3&b=961
ทำที่ User admin ได้เลย แล้วเอาคีย์ของ adminไป authorized_keys ที่เครื่อง intranet
5. อ่านค่าและส่งค่าไฟล์ Text ไปที่เครื่อง Intranet เพื่อตัดหรือแบ่งนำเข้า PHPmyadmin
php อ่านค่า จาก txt แล้ว นำเข้า DB
- <?php
- ob_start();
- error_reporting (E_ALL ^ E_NOTICE);
- header("Cache-Control: no-cache, must-revalidate");
- ////////////////////////////////////////////////////
- define('IN_PHPBB', true);
- $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../../';
- $phpEx = substr(strrchr(__FILE__, '.'), 1);
- include($phpbb_root_path . 'common.' . $phpEx);
- ////////////////////////////////////////////////////
- // Start session management
- $user->session_begin();
- $auth->acl($user->data);
- $user->setup();
- ////////////////////////////////////////////////////
- include($phpbb_root_path ."sci/include/config.php");
- include($phpbb_root_path ."sci/include/db.php");
- include($phpbb_root_path ."sci/include/functions.php");
- ////////////////////////////////////////////////////
- $EmpID = ldapEmpId($user->data['username']);
- $myDB = new MysqlDB($Host,$User,$Password,$DB,$ShowError);
- $SQL ="SELECT * FROM sci._employees ";
- $SQL.=" LEFT JOIN sci._positions ON sci._positions.PositionCode=sci._employees.PositionCode";
- $SQL.=" LEFT JOIN sci._sections ON sci._sections.SectionId=sci._positions.SectionId";
- $SQL.=" WHERE sci._employees.EmpID='".$EmpID."'";
- $NumRows = $myDB->Query($SQL);
- $Row = $myDB->GetRow();
- $EmpSection = tis2utf8($Row["SectionCalled"]);
- if($EmpSection != "งทส.") {
- echo js_alert(tis2utf8("Menu นี้เข้าใช้งานได้เฉพาะ งทส."));
- echo js_close();
- exit;
- }
- $DateFileName = date("Ymd");
- $DateNowInsert = date("Y-m-d");
- //Check File
- if($myFile = fopen($DateFileName.".output.txt", "r")) {
- //Output one line until end-of-file
- while(!feof($myFile)) {
- //echo fgets($myFile) . "<br>";
- list($Size, $Name) = split(" ", trim(fgets($myFile)));
- echo $Size."::".$Name."<br>";
- if(preg_match('/alfresco_file/', $Name)) {
- echo "Alfresco File"."|".$Size."<br>";
- $AlfrescoFile = $Size;
- } elseif(preg_match('/alfresco_db/', $Name)){
- echo "Alfresco DB"."|".$Size."<br>";
- $AlfrescoDB = $Size;
- } elseif(preg_match('/Intranet_file/', $Name)){
- echo "Intranet File"."|".$Size."<br>";
- $IntranetFile = $Size;
- } elseif(preg_match('/Intranet_db/', $Name)){
- echo "Intranet DB"."|".$Size."<br>";
- $IntranetDB = $Size;
- }
- }//Close if.
- }//Close While.
- //Insert Data To Table
- $SQL_UP = " INSERT INTO sci_CheckServer.CheckData (CheckDate ,AlfrescoFile, AlfrescoDB, IntranetFile, IntranetDB)";
- $SQL_UP .= " VALUES ('$DateNowInsert', '$AlfrescoFile', '$AlfrescoDB', '$IntranetFile', '$IntranetDB')";
- $myDB->Update(utf2tis($SQL_UP));
- //Close open file.
- //fclose($myfile);
- //Delete File.
- } else {
- echo js_alert("Unable to open file!");
- }
- ob_end_flush();
- ?>
6. Select ค่าจาก PHP แสดงหน้า Web ตามที่ต้องการ