동일 형식 데이터 백업 (파일 이름에 꼬리표 달기) by 바죠

동일 형식 데이터 백업

같은 생성 날짜, 같은 랜덤 넘버로 만들어진 암호를 화일 이름에 부착하여 동일 작업 완료 및 생성시간과 한 셋트임을 확인하게 한다. 아래에서, CONTCAR, OUTCAR, EIGENVAL, DOSCAR 파일들이 동시에 생성되고 하나의 덩어리 파일들로 분류, 정리, 및 참조가가 될 수 있는 것이다. 따라서 같은 꼬리표를 가지고 저장이 되면 매우 편리하다. 이러한 의미에서 생성날짜, 같은 랜덤넘버 꼬리표를 파일 뒤에 동시에 붙여서 보관한다.


STAMP=$(date +%Y%m%d_%H%M%S)_$RANDOM
echo $STAMP
cp CONTCAR   /home/ihlee/csa_lj/Si12/deposit/CONTCAR_$STAMP
cp OUTCAR    /home/ihlee/csa_lj/Si12/deposit/OUTCAR_$STAMP
cp EIGENVAL  /home/ihlee/csa_lj/Si12/deposit/EIGENVAL_$STAMP
cp DOSCAR    /home/ihlee/csa_lj/Si12/deposit/DOSCAR_$STAMP



파일 백업할 때, 개발중인 프로그램 백업, 아래와 같이 그 시간을 파일이름으로 적어두면 유용하다.
예를 들어, g라는 파일을 저장하고자 한다.
cp g g_$(date +%Y%m%d_%H%M%S)
아래와 같은 파일이 복사된다.
g_20130922_212404

파일 생성 시간대를 화일명으로 만들어 버리자는 것이다.



--------------------------------------------------------------------------------------------------------------

CONTCAR
첫 줄에 에너지 값 적어서 새로운 CONTCAR 파일 보관하기
계산 스크립트에 복사해서 넣어 두면 CONTCAR 첫줄에 에너지가 기록된 CONTCAR 사본을 저장할 수 있다.

head -n 1 CONTCAR >z1 ;  awk '/entropy=/  {print $7}'  OUTCAR |tail -n 1 >>z1 ; awk 'ORS=NR%2?FS:RS' z1>z2 ; tail -n +2 CONTCAR >>z2
mv z2 CONTCAR
rm z1




--------------------------------------------------------------------------------------------------------------

빈 줄 없애고 가기
awk  'NF' your_file
빈 줄 없애고, 그리고 연속 한 두 줄을 한줄로 축약해서 출력하기
awk 'NF' yourfile | awk 'ORS=NR%2?FS:RS'

awk 'NF' yourfile |awk 'ORS=NR%2?FS:RS'

head -n1 CONTCAR_201612* |awk 'NF'  |awk 'ORS=NR%2?FS:RS'

빈 줄 없애고 가기
awk  'NF' your_file
빈 줄 없애고, 그리고 연속 한 두 줄을 한줄로 축약해서 출력하기
awk 'NF' yourfile | awk 'ORS=NR%2?FS:RS'

awk 'NF' yourfile |awk 'ORS=NR%2?FS:RS'

head -n1 CONTCAR_201612* |awk 'NF'  |awk 'ORS=NR%2?FS:RS'

--------------------------------------------------------------------------------------------------------------

 head -n1 CONTCAR_* |awk 'NF'  |awk 'ORS=NR%2?FS:RS' |awk '{print $5, $2}' | sort -nk2

 head -n1 CONTCAR_* |awk 'NF'  |awk 'ORS=NR%2?FS:RS' |awk '{print $5, $2}' | sort -nrk2


 head -n1 CONTCAR_* |awk 'NF'  |awk 'ORS=NR%2?FS:RS' |awk '{print $5, $2}' | sort -nk2

 head -n1 CONTCAR_* |awk 'NF'  |awk 'ORS=NR%2?FS:RS' |awk '{print $5, $2}' | sort -nrk2



--------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------


핑백

덧글

  • 바죠 2013/11/02 15:47 # 삭제 답글

    #!/bin/bash

    number=0
    until [ $number -ge 10 ]; do
    echo "Number = $number"
    number=$((number + 1))
    done
  • 바죠 2013/11/02 15:48 # 삭제 답글

    number=1
    while [ $number -le 25 ]; do
    tmp="POSCAR.$number"
    cp $tmp POSCAR
    mpirun -genv I_MPI_DEBUG 5 -np $NPROCS /usr/local/vasp4us/vasp.5.2.12_11NOV2011_GRAPE_CARBON.O3.MPIBLOCK5000.mpi.x > stdout.log
    tmq="out.$number"
    cp OUTCAR $tmq
    number=$((number + 1))
    done
  • 바죠 2016/05/11 21:02 # 답글

    #!/bin/sh
    #PBS -l nodes=2:quad:ppn=8
    #PBS -N csa_soldBP18

    NPROCS=`wc -l < $PBS_NODEFILE`

    hostname
    date

    cd $PBS_O_WORKDIR

    # do not change file names, e.g., stdout.log, STATUS

    # normal
    cp INCAR_rlx INCAR
    sleep 0.5
    mpirun -genv I_MPI_DEBUG 5 -np $NPROCS /opt/VASP/bin/vasp.5.2.12_GRAPE_GRAPHENE_NORMAL.mpi.x > stdout.log
    # accurate 550 eV
    number=1
    while [ $number -lt 4 ]
    do
    cp INCAR_rlxall INCAR
    cp CONTCAR POSCAR
    sleep 0.5
    mpirun -genv I_MPI_DEBUG 5 -np $NPROCS /opt/VASP/bin/vasp.5.2.12_GRAPE_GRAPHENE_NORMAL.mpi.x > stdout.log
    cp OUTCAR out.out_$number
    sleep 0.5
    number=`expr $number + 1`
    done

    head -n 1 CONTCAR > z1
    awk '/entropy=/ {print $7}' OUTCAR |tail -n 1 >> z1
    awk 'ORS=NR%2?FS:RS' z1 > z2
    tail -n +2 CONTCAR >> z2
    mv z2 CONTCAR
    rm z1

    # accurate 550 eV
    if false; then
    cp INCAR_bs INCAR
    cp CONTCAR POSCAR
    sleep 0.5
    mpirun -genv I_MPI_DEBUG 5 -np $NPROCS /opt/VASP/bin/vasp.5.2.12_GRAPE_GRAPHENE_NORMAL.mpi.x > stdout.log
    fi

    sleep 0.5
    STAMP=$(date +%Y%m%d_%H%M%S)_$RANDOM
    echo $STAMP
    #cp CONTCAR ../deposit/CONTCAR_$STAMP
    #cp OUTCAR ../deposit/OUTCAR_$STAMP
    #cp EIGENVAL ../deposit/EIGENVAL_$STAMP
    #cp DOSCAR ../deposit/DOSCAR_$STAMP

    sleep 0.5
    touch STOP
    echo "DONE" >> STATUS
댓글 입력 영역

최근 포토로그



MathJax