Created
March 6, 2014 21:17
-
-
Save everdaniel/9399844 to your computer and use it in GitHub Desktop.
Bash script example for data import
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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