On branch create-csv

Changes to be committed:
modified:   hash-files
	Added functionality for csv creation and writing to temp file for virtual memory persistence.
	Final write function may do some validation checks and then write the temp file to its permanent output path.

Next Steps:
 - Should probably package a logrotate.d conf file as well for the logs as part of the logging feature.
create-csv
Mike Holloway 2 years ago
parent 7745cd6152
commit b772285a81
  1. 35
      hash-files

@ -13,8 +13,8 @@ echo " ++ Write to log.
}
create_list_of_files () {
echo "=== Get list of files in $Working_Directory. ===
=================================================="
#echo "=== Get list of files in $Working_Directory. ===
#=================================================="
IFS=$'\n'
for file in $(find $Working_Fullpath -maxdepth 1 -type f); do
list_of_files+=( $file )
@ -23,8 +23,8 @@ unset IFS
}
hash_files () {
echo "=== Hash files. ===
======================"
#echo "=== Hash files. ===
#======================"
IFS=$'\n'
for file in ${list_of_files[@]}; do
hash=$(md5sum $file | awk '{ print $1 }')
@ -34,13 +34,23 @@ unset IFS
}
create_csv () {
echo "=== Create array of comma-separated-values. ===
=================================================="
#echo "=== Create array of comma-separated-values. ===
#=================================================="
for i in ${!list_of_files[@]}; do
csv_array+=( ${list_of_files[i]},${list_of_hashes[i]} )
done
export csv_array
}
write_data () {
echo "=== Write data to a .csv file. ===
===================================="
#echo "=== Write data to a .csv file. ===
#===================================="
temp_csv_file=$(mktemp)
printf '%s,%s\n' "File Path" "File Hash" >> $temp_csv_file
for line in ${csv_array[@]};do
printf '%s\n' $line
done >> $temp_csv_file
# cat $temp_csv_file
}
cleanup () {
@ -56,18 +66,13 @@ echo "Main Start"
create_list_of_files
write_log
hash_files
write_log
if [ ${#list_of_files[@]} != ${#list_of_hashes[@]} ];then
echo "Error! Number of files and hashes differs. Exiting..." && exit
else
for i in ${!list_of_files[@]}; do
echo "/==============================/
File: ${list_of_files[i]}
Hash: ${list_of_hashes[i]}"
done
create_csv
fi
write_log
create_csv
write_log
write_data
write_log
cleanup

Loading…
Cancel
Save