VM의 사용자로부터 데이터를 보다 효율적으로 수집하려면 어떻게 해야 합니까?

VM의 사용자로부터 데이터를 보다 효율적으로 수집하려면 어떻게 해야 합니까?

저는 이번 여름에 강좌를 가르치고 있어요. 학생들의 첫 번째 과제는 제가 만든 가상 머신을 설치하는 것입니다(이 머신은 Ubuntu를 실행합니다). 설치 시 다음 스크립트를 실행해야 합니다.

$ cat ~/bin/all-done
#!/bin/bash

timestamp() {
    date +"%Y-%m-%d_%H-%M-%S"
}

echo "Type your last name: " 
read name

SUBJECT="Class Update"
TO="my_email@my_domain.com"
MESSAGE="/tmp/message.txt"

echo "$name completed the assignment" >> $MESSAGE
echo "Time: $(timestamp)" >> $MESSAGE

/usr/bin/mail -s "$SUBJECT" "$TO" < $MESSAGE

rm $MESSAGE

echo "You completed the first assignment. Welcome to the class!"

스크립트는 그들의 성을 기록하고 그들이 컴퓨터를 설치했음을 알리는 이메일을 나에게 보냅니다.

여기서 짜증나는 부분은 결국 30개의 이메일을 받게 되고 이 모든 정보를 직접 분석해야 한다는 것입니다. 이 데이터를 수집하는 더 좋은 방법이 있는지 궁금합니다. 궁극적으로 액세스할 수 있는 csv 파일에 각 성을 추가하는 bash 스크립트가 있으면 좋을 것입니다.

이런 종류의 작업을 수행하도록 설계된 도구가 유닉스에 있습니까?

답변1

말씀하신 대로 자신이 만든 머신이므로 공유 드라이브(CIFS 또는 NFS)를 마운트하고 출력하도록 하면 어떨까요?

이는 다른 파일 공유 요구에도 유용할 수 있습니다.

답변2

Subject:다양한 기준( 헤더 포함)으로 메일을 필터링할 수 있는 여러 가지 메일 배달 에이전트(MDA)가 있습니다 . 더 일반적인 것 중 일부는 다음과 같습니다.프로메일,우편물, 그리고필터.

나는 procmail수십 년 동안 사용했습니다. 해당 제목: 헤더가 있는 메일을 별도의 편지함으로 필터링하려면 다음과 같은 규칙을 내 ~/.procmailrc:

:0
* ^Subject: Class Update
class-update/

procmailmbox단일 파일 사서함과 Maildir메시지당 단일 파일 사서함 스타일을 모두 지원합니다 . 위의 예에서는 메시지를 Maildir 폴더에 저장합니다 ~/Mail/class-update/. /mbox 형식을 선호하는 경우 후행을 제거하십시오 .

그런데 다음을 수행하는 것이 좋습니다.

  1. 학생증도 달라고 하세요. 내 경험에 따르면 성이 중복되는 경우가 매우 흔합니다(실제로 성이 항상 성이 아니기 때문에 "성"이나 "성" 대신 "성"을 요청해야 합니다).

  2. 제목을 "Class Update: $(timestamp) $name [$id]"또는 이와 유사한 것으로 변경하십시오. 그런 다음 귀하의 procmail(또는 다른 MDA) 규칙은 Subject: 헤더만 추출하면 되며 메시지의 나머지 부분은 버릴 수 있습니다(또는 편지함에 보관하는 것이 더 좋습니다).

예를 들어, 다음 procmail 규칙은 위와 같이 메시지를 폴더에 저장한 다음 Date: 및 Subject: 헤더를 추출하여 파일에 저장합니다.

:0
* ^Subject: Class Update
{
    # first save a copy of the message (for a safety archive)
    :0c
    class-update/

    # then extract the Subject line and save it to a file
    :0 fw
    | formail -c -xSubject | sed -e 's/^Class Update: //' \
        >> /path/to/class-updates.txt
}

참고로 는 formail와 함께 제공되는 메일 서식 도구입니다 procmail.

관련 정보