2017-12-18 345 views
-1

如何創建一個服務器腳本來知道文件夾中是否存在文件?如果它檢測到/存在所述文件夾中存在的文件,則它將創建具有以下細節的清單文件,然後壓縮除清單文件之外的文件。 該腳本將在特定時間執行,並將及時執行上述操作。如何在shell腳本中創建服務器?

以下是詳細信息:

清單文件格式

  • 文件擴展名:.manifest的

  • 艙單內容:文件名|文件大小|總記錄| createddate |上次更改| MD5 |

其中:

  • 文件名= 文件名

  • 在字節大小作品尺寸= 文件大小沒有逗號(例如34KB應 被寫爲34000和不是34,000)

  • 記錄計數,而在Linux中使用的md5sum逗號

  • Createddate = YYYYMMDDHH24MISS

  • 的LastModified = YYYYMMDDHH24MISS

  • 的md5 = = 記錄計數得到的MD5值。

一(1)對每個傳送/批文件的清單文件。

  • 多個文件可以被存檔到一(1)不包括 清單文件的文件。

任何幫助將不勝感激。謝謝!

編輯:

這是我迄今所做的:

#!/bin/bash 
clear 
echo "Filename: " 
read filename 
if 
    ls -l $filename 
then 
    echo "File found!" 
    manifest=$""batch_"$(date +%Y%m%d)."manifest"" 
    du -b $filename | awk '{printf "| " $2 " | "}' >> "$manifest" 
    du -b $filename | awk '{printf $1 " | "}' >> "$manifest" 
    wc -l $filename | awk '{printf $1 " | "}' >> "$manifest" 
    md5sum $filename | awk '{printf $1 " |"}' >> "$manifest" 
    zip -r "batch_"$(date +%Y%m%d%H%M%S).".zip" $filename 
fi 
echo "Done." 
+2

有什麼你到目前爲止嘗試過? – Setop

+0

請編輯此問題以包含一些代碼塊或引號,以便於閱讀。 –

+0

我已經編輯過這篇文章。 – Koko

回答

1

這是寫在猛砸一個簡單的Web服務器

#!/usr/bin/env bash 
RESPONSE="HTTP/1.1 200 OK\r\nConnection: keep-alive\r\n\r\n${2:-"OK"}\r\n" 
while { echo -en "$RESPONSE"; } | nc -l "${1:-8080}"; do 
echo "================================================" 
done 

GitHub/Shinatra

相關問題