Skip to content

Instantly share code, notes, and snippets.

@everdaniel
Created March 6, 2014 21:17
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save everdaniel/9399844 to your computer and use it in GitHub Desktop.
Save everdaniel/9399844 to your computer and use it in GitHub Desktop.
Bash script example for data import
#!/bin/bash
WORKDIR="$( cd "$( dirname "$0" )" && pwd )"
DB_USER="user"
DB_PASSWORD="pasword"
DB_NAME="database_name"
FILE_PROC="$WORKDIR/processing"
FILE_COMP="$WORKDIR/completed"
if [ -e $FILE_PROC ]
then
clear
echo "Files are currently being processed. Run Forrest Run!!!"
exit
fi
if [ -e $FILE_COMP ]
then
clear
cd $WORKDIR
# Make sure if job runs again to not process these files
touch $FILE_PROC
echo "--> Cleaning database"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/clear_tt.sql
echo "Database cleaned."
echo "<-- Done cleaning database"
echo "==>"
echo "==> ** IMPORTING BRENTWOOD DATA"
echo "==>"
echo "--> Importing tables"
mysqlimport -h localhost -u $DB_USER -p$DB_PASSWORD --local --delete --fields-terminated-by=',' --fields-enclosed-by='"' --ignore-lines=1 --default-character-set=utf8 $DB_NAME $WORKDIR/Brentwood_tblAltContacts.csv $WORKDIR/Brentwood_tblContacts.csv $WORKDIR/Brentwood_tblEmployees.csv $WORKDIR/Brentwood_tblSchedule.csv $WORKDIR/Brentwood_tblScheduleMultiple.csv $WORKDIR/Brentwood_tblScheduleRepeat.csv $WORKDIR/Brentwood_valTblLocation.csv $WORKDIR/Brentwood_valTblWorkCodes.csv
echo "<-- Done importing tables"
echo "==>"
echo "==> ** IMPORTING GREEN HILLS DATA"
echo "==>"
echo "--> Importing tables"
mysqlimport -h localhost -u $DB_USER -p$DB_PASSWORD --local --delete --fields-terminated-by=',' --fields-enclosed-by='"' --ignore-lines=1 --default-character-set=utf8 $DB_NAME $WORKDIR/Green_tblAltContacts.csv $WORKDIR/Green_tblContacts.csv $WORKDIR/Green_tblEmployees.csv $WORKDIR/Green_tblSchedule.csv $WORKDIR/Green_tblScheduleMultiple.csv $WORKDIR/Green_tblScheduleRepeat.csv $WORKDIR/Green_valTblLocation.csv $WORKDIR/Green_valTblWorkCodes.csv
echo "<-- Done importing tables"
echo "==>"
echo "==> ** CLEANUP DATA TASKS"
echo "==>"
echo "--> Cleaning up schedule tables"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/schedule_update_datetime.sql
echo "<-- Done cleaning up schedule tables"
echo "--> Creating companies"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/company_create.sql
echo "<-- Done creating companies"
echo "--> Creating users"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_create_brentwood.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_alt_create_brentwood.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_create_green.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_alt_create_green.sql
echo "<-- Done creating users"
echo "--> Updating users"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_update_brentwood.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/user_update_green.sql
echo "<-- Done creating users"
echo "--> Creating employees"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/employee_create_brentwood.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/employee_create_green.sql
echo "<-- Done creating employees"
echo "--> Updating employees"
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/employee_update_brentwood.sql
mysql -h localhost -u $DB_USER -p$DB_PASSWORD $DB_NAME < $WORKDIR/employee_update_green.sql
echo "<-- Done updating employees"
echo "Deleting files"
rm -f $WORKDIR/*.csv
rm -f $FILE_PROC
rm -f $FILE_COMP
exit
fi
echo "Nothing to process"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment