-date "+%Y-%m-%d %H:%M:%S ---- checking" >&2
-lscp -s | while read CNO DATE TIME REST ; do
- TS="$DATE $TIME"
- [ "$CNO" = "CNO" ] && continue
- if [[ ! "$TS" > "$YEARLY" ]] ; then
- if [ "$KEEPYY" = "${DATE:0:4}" ] ; then
- echo "# discard year duplicate $CNO $DATE $TIME" >&2
- chcp cp $CNO
- else
- KEEPYY="${DATE:0:4}"
- fi
- echo "# keep first of year $CNO $DATE $TIME" >&2
- continue
- fi
- # Within last year
- if [[ ! "$TS" > "$MONTHLY" ]] ; then
- if [ "$KEEPMM" = "${DATE:0:7}" ] ; then
- echo "# discard month duplicate $CNO $DATE $TIME" >&2
- chcp cp $CNO
- else
- KEEPMM="${DATE:0:7}"
- fi
- fi
- # Within last month
- if [[ ! "$TS" > "$WEEKLY" ]] ; then
- if [[ "$KEEPDD" = "${DATE:8:2}" ]] ; then
- if [ -z "$KEEPWW" ] ; then
- KEEPWW="${DATE:8:2}"
- continue
- fi
- echo "# discard duplicate day $KEEPDD: $CNO $DATE $TIME" >&2
- else
- echo "# discard not day $KEEPDD: $CNO $DATE $TIME" >&2
- fi
- chcp cp $CNO
- continue
- fi
- # Within last week
- if [[ ! "$TS" > "$DAILY" ]] ; then
- [[ "$KEEPHH" = "${TIME:0:2}" ]] && continue
- echo "# discard not hour $KEEPHH: $CNO $DATE $TIME" >&2
- chcp cp $CNO
- continue
- fi
- # Within last day
- if [[ ! "$TS" > "$HOURLY" ]] ; then
- if [ "$KEEP55" = "${TIME:0:2}" ] ; then
- echo "# discard duplicate for hour $KEEP55: $CNO $DATE $TIME" >&2
- chcp cp $CNO
+MARK=( )
+function marksnap() {
+ if [[ "${MARK[0]}" == "$1" ]] && [[ "${MARK[1]}" = "$2" ]] ; then
+ if [ -r "$NAMELIST" ] && grep -q ^$3 "$NAMELIST" ; then
+ : # Don't change important snapshots