mirror of https://github.com/nirenjan/dotfiles.git
				
				
				
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/bash
 | |
| # Monthly logging script
 | |
| # Call mlog and it will update a log file
 | |
| 
 | |
| # Set the default mlog folder
 | |
| [[ -z $MLOG_FOLDER ]] && MLOG_FOLDER="$HOME/mlog"
 | |
| 
 | |
| # Make sure that the folder exists
 | |
| [[ ! -d $MLOG_FOLDER ]] && mkdir -pv $MLOG_FOLDER
 | |
| 
 | |
| # Make sure that we have a valid TMPDIR
 | |
| [[ -z $TMPDIR ]] && TMPDIR='/tmp'
 | |
| 
 | |
| # Make sure that we have a valid EDITOR
 | |
| [[ -z $EDITOR ]] && EDITOR=vim
 | |
| 
 | |
| MLOG_HDR=''
 | |
| MLOG_TS="[$(date)]"
 | |
| MLOG_LOG="$MLOG_FOLDER/$(date +%Y-%m)"
 | |
| MLOG_FILE="$TMPDIR/mlog-tmp-$$"
 | |
| 
 | |
| if [[ -x $HOME/bin/stardate ]]
 | |
| then
 | |
|     [[ -z $MLOG_RANK ]] && MLOG_RANK='Chief Engineer'
 | |
| 
 | |
|     MLOG_HDR=`echo "$MLOG_RANK's log, Stardate $($HOME/bin/stardate)" | sed 's/.$//'`
 | |
| 
 | |
|     if [[ -e $MLOG_LOG ]]
 | |
|     then
 | |
|         MLOG_LAST=$(grep Stardate $MLOG_LOG | tail -1)
 | |
| 
 | |
|         if [[ "$MLOG_LAST" == "$MLOG_HDR" ]]
 | |
|         then
 | |
|             MLOG_HDR="$MLOG_RANK's log, supplemental"
 | |
|         fi
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| $EDITOR $MLOG_FILE
 | |
| 
 | |
| [[ ! -s $MLOG_FILE ]] && rm -f $MLOG_FILE && exit 0
 | |
| 
 | |
| 
 | |
| echo "$MLOG_HDR" >> $MLOG_LOG
 | |
| echo "$MLOG_TS"  >> $MLOG_LOG
 | |
| echo             >> $MLOG_LOG   # Empty line
 | |
| cat $MLOG_FILE >> $MLOG_LOG
 | |
| echo -en "\n----------------------------------------" >> $MLOG_LOG
 | |
| echo -e "----------------------------------------\n" >> $MLOG_LOG
 | |
| 
 | |
| rm -f $MLOG_FILE
 | |
| 
 |