file age
This commit is contained in:
1
bin/file-age
Symbolic link
1
bin/file-age
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../files/file-age
|
||||||
48
files/file-age
Executable file
48
files/file-age
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
_help() {
|
||||||
|
echo '
|
||||||
|
Usage: file-age {file} [units]
|
||||||
|
|
||||||
|
Checks file modification date, and the current time. Prints the age of
|
||||||
|
the file in [units].
|
||||||
|
|
||||||
|
[units] is one of S,M,H,d,w,m,y
|
||||||
|
seconds is the default. All values floored.
|
||||||
|
month = 30 days
|
||||||
|
year = 365 days
|
||||||
|
'
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
for (( i=1; i<=$#; i++ ))
|
||||||
|
do [[ "${!i}" = "-h" ]] && _help
|
||||||
|
done
|
||||||
|
|
||||||
|
STATFILE="$1"
|
||||||
|
[[ -z "$STATFILE" ]] && _help
|
||||||
|
test -e "$STATFILE" || { echo File "$STATFILE" does not exist >&2; exit 1; }
|
||||||
|
|
||||||
|
UNITS=${2:-S}
|
||||||
|
created=$( stat -c %Y "$STATFILE" )
|
||||||
|
now=$( date +%s )
|
||||||
|
age=$(( $now - $created ))
|
||||||
|
|
||||||
|
case $UNITS in
|
||||||
|
S)
|
||||||
|
echo $age;;
|
||||||
|
M)
|
||||||
|
echo $(( $age / 60 ));;
|
||||||
|
H)
|
||||||
|
echo $(( $age / 3600 ));;
|
||||||
|
d)
|
||||||
|
echo $(( $age / 86400 ));;
|
||||||
|
w)
|
||||||
|
echo $(( $age / 604800 ));;
|
||||||
|
m)
|
||||||
|
echo $(( $age / 2592000 ));;
|
||||||
|
y)
|
||||||
|
echo $(( $age / 31536000 ));;
|
||||||
|
*)
|
||||||
|
echo Unit $UNITS not recognized.
|
||||||
|
_help;;
|
||||||
|
esac
|
||||||
23
rc
23
rc
@@ -42,23 +42,6 @@ function _check_ncsv() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function _change_hg_repo() {
|
|
||||||
[[ -w "$TOOLSPATH"/.hg ]] || return
|
|
||||||
[[ -w "$TOOLSPATH"/.hg/hgrc ]] || return
|
|
||||||
grep -q moonq.kapsi.fi/repo/ "$TOOLSPATH"/.hg/hgrc && {
|
|
||||||
echo -e "Converting read only repository to bitbucket\n"
|
|
||||||
sed 's,\s*default\s*=.*moonq.kapsi.fi.*,default = https://bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc \
|
|
||||||
| diff "$TOOLSPATH"/.hg/hgrc -
|
|
||||||
sed -i 's,\s*default\s*=.*moonq.kapsi.fi.*,default = https://bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc
|
|
||||||
}
|
|
||||||
grep -q moonq.kapsi.fi/repoz/ "$TOOLSPATH"/.hg/hgrc && {
|
|
||||||
echo -e "Converting writable repository to bitbucket\n"
|
|
||||||
sed 's,\s*default\s*=.*moonq.kapsi.fi.*,default = ssh://hg@bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc \
|
|
||||||
| diff "$TOOLSPATH"/.hg/hgrc -
|
|
||||||
echo
|
|
||||||
sed -i 's,\s*default\s*=.*moonq.kapsi.fi.*,default = ssh://hg@bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# install ncsv if necessary
|
# install ncsv if necessary
|
||||||
which ncsv > /dev/null 2>&1 || _check_ncsv > /dev/null 2>&1
|
which ncsv > /dev/null 2>&1 || _check_ncsv > /dev/null 2>&1
|
||||||
unset -f _check_ncsv
|
unset -f _check_ncsv
|
||||||
@@ -79,13 +62,11 @@ TOOLS_TO_UPDATE=1
|
|||||||
[[ -w "$TOOLSPATH"/.lastupdate ]] || TOOLS_TO_UPDATE=0
|
[[ -w "$TOOLSPATH"/.lastupdate ]] || TOOLS_TO_UPDATE=0
|
||||||
|
|
||||||
if [ $TOOLS_TO_UPDATE -eq 1 ]; then
|
if [ $TOOLS_TO_UPDATE -eq 1 ]; then
|
||||||
_change_hg_repo
|
TOOLS_LASTUPDATE=$( "$TOOLSPATH"/bin/file-age "$TOOLSPATH"/.lastupdate d )
|
||||||
TOOLS_LASTUPDATE=$(( $( date +%s ) - $( stat -c %Y "$TOOLSPATH"/.lastupdate ) ))
|
[[ "$TOOLS_LASTUPDATE" -gt 7 ]] && _self_update
|
||||||
[[ "$TOOLS_LASTUPDATE" -gt 604800 ]] && _self_update
|
|
||||||
unset TOOLS_LASTUPDATE
|
unset TOOLS_LASTUPDATE
|
||||||
fi
|
fi
|
||||||
unset TOOLS_TO_UPDATE
|
unset TOOLS_TO_UPDATE
|
||||||
unset -f _self_update
|
unset -f _self_update
|
||||||
unset -f _change_hg_repo
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user