Audited scripts/stats.sh

Shellcheck pass and code cleanup.

Set stricter error handling with sh options.

Removes the for loop and cat(1) in favor of directly calling the
file with cut(1) and piping the output to a while read loop. Read
https://github.com/koalaman/shellcheck/wiki/SC2002 for more info.

Adds proper variable globbing.

Removes the large block of commented code, if this turns out to be
necessary, we can add a condition check to the script instead of
uncommenting on a per case basis.
This commit is contained in:
Patrick Marchand 2018-11-14 14:52:01 -05:00 committed by Gitea
parent cade94a7bc
commit 547235ea7e

View file

@ -1,23 +1,13 @@
#!/bin/sh
for dir in `cat /etc/proftpd/vpasswd | cut -d : -f 6`; do
#for dir in /home/dalleFTP/reynaud_mila; do
if [ -d $dir ]; then
du -s $dir | cut -f 1 >$dir/.size
chmod 644 $dir/.size
set -o errexit
set -o nounset
#set -x
#mtime=0
#export IFS=$'\n'
#for file in `find $dir -type f -not -name .size -not -name .last-modified`; do
# timestamp=`stat -c %Y $file`
# if [ $timestamp -gt $mtime ]; then
# mtime=$timestamp
# fi
#done
#unset IFS
#echo $mtime >$dir/.lastmodified
#chmod 644 $dir/.lastmodified
cut -d : -f 6 /etc/proftpd/vpasswd | while read -r dir; do
if [ -d "$dir" ]; then
du -s "$dir" | cut -f 1 > "$dir"/.size
chmod 644 "$dir"/.size
fi
done