source: TOOLS/ConsoGENCMIP6/bin/old/conso_gencmip6_v3 @ 2413

Last change on this file since 2413 was 2413, checked in by labetoulle, 9 years ago

Move all scripts to the same dir to use common configuration files

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1#!/bin/bash
2#
3# cron pour garder trace de la compta et des volumes de fichiers crees
4# a executer chaque matin a 6h00
5# ======================================================================
6#. /etc/profile
7
8# Default values
9# ==============
10fg_dry=false
11fg_verbose=false
12
13# Get arguments from command line
14# ===============================
15while getopts :hdv Opt ; do
16  case $Opt in
17    h)
18      echo "usage: $0 [-d] [-v]"
19      echo ""
20      echo "options :"
21      echo "  -h : print this help and exit"
22      echo "  -d : dry run, no file produced"
23      echo "  -v : verbose"
24      exit 0 ;;
25    d)
26      fg_dry=true
27      ;;
28    v)
29      fg_verbose=true
30      ;;
31    :)
32      echo "$0: -"${OPTARG}" option: missing value"
33      exit 1
34      ;;
35    \?)
36      echo "$0: -"${OPTARG}" option: not supported"
37      exit 1
38      ;;
39  esac
40done
41shift $(($OPTIND-1))
42
43
44# Files and directories
45# =====================
46LOCAL_DIR="/ccc/cont003/home/dsm/p86ipsl/CCC_MYPROJECT/output"
47SAVE_DIR="/ccc/work/cont003/dsm/p86ipsl/CCC_MYPROJECT/output"
48
49if ( ${fg_dry} ) ; then
50  OUT_LOGIN="/dev/stdout"
51  OUT_TOTAL="/dev/stdout"
52  OUT_STORE="/dev/stdout"
53else
54  OUT_LOGIN="${LOCAL_DIR}/OUT_CONSO_LOGIN"
55  OUT_TOTAL="${LOCAL_DIR}/OUT_CONSO_ALL"
56  OUT_STORE="${LOCAL_DIR}/OUT_CONSO_STORE"
57fi
58
59Today=$( date +%F )
60
61
62# Produce files
63# =============
64
65# 1- Conso par login (HOME)
66# -------------------------
67# on garde la trace de chaque login, date en tete, en remplacant le fichier a chaque fois : OUT_CONSO_LOGIN
68ccc_myproject | \
69    sed -e'1,/gencmip6/d' | \
70    sed -e'/Total/,$d' | \
71    grep -v Login | \
72    grep -v '^$' | \
73    gawk -v Today=$Today '{printf "%10s %-10s %10.2f hours\n", Today, $1, $2}' \
74    > ${OUT_LOGIN}
75
76# 2- Conso total par jour
77# -----------------------
78# on garde le total, date en tete en accumulant dans le fichier : OUT_CONSO_ALL
79ccc_myproject | \
80    sed -e'1,/gencmip6/d' | \
81    grep -m 1 Total | \
82    gawk -v Today=$Today '{printf "%10s %-10s %10.2f hours\n", Today, "Total", $2}' \
83    >> ${OUT_TOTAL}
84
85# 3- volume cree sur STORE
86# ------------------------
87# par login qui a consomme, en remplacant le fichier a chaque fois : OUT_CONSO_STORE
88for i in $( ccc_myproject | \
89            sed -e'1,/gencmip6/d' | \
90            sed -e'/Total/,$d' | \
91            grep -v Login | \
92            grep -v '^$/' | \
93            grep -v 0.0 | \
94            gawk '{print $1}' )
95do
96  printf "%-10s %6s %s\n" $i $( du -sbh $(ccc_home -A -u $i)/IGCM_OUT/IPSLCM6 )
97done > ${OUT_STORE}
98
99
100# Save files (WORK)
101# =================
102if ( ! ${fg_dry} ) ; then
103  cp ${LOCAL_DIR}/OUT_CONSO_LOGIN ${SAVE_DIR}/OUT_CONSO_LOGIN_${Today}
104  cp ${LOCAL_DIR}/OUT_CONSO_ALL   ${SAVE_DIR}/OUT_CONSO_ALL_${Today}
105  cp ${LOCAL_DIR}/OUT_CONSO_STORE ${SAVE_DIR}/OUT_CONSO_STORE_${Today}
106fi
107
Note: See TracBrowser for help on using the repository browser.