Sponsored Content
Full Discussion: [BASH] Gawk + MYSQL script
Top Forums Shell Programming and Scripting [BASH] Gawk + MYSQL script Post 302837573 by Zimny on Friday 26th of July 2013 05:39:57 AM
Old 07-26-2013
[BASH] Gawk + MYSQL script

Hello!

I've got script to write. It should read databases (names, volumes) from table testdatabase and compares it to actually existing databases in /var/lib/mysql/. If there is no informations about database in table - we should see information "There is no declared informations about database in table testdatabase." And if volume of database is too big - we should see information "Database database has too big actual size volume, it exceeds declared size in table testdatabase."

My problem is that even if there is existing database in /var/lib/mysql/ and I put informations about it in table testdatabase - I see statement - "There is no declared...".

Do you have any idea what am I doing wrong?

Code:
cd /var/lib/mysql/ || exit 1

gawk '
BEGIN {
   cmd = "mysql -u root -ppassword knowdatabases \"SELECT name, volume, date, description FROM testdatabase\""
   while ( cmd | getline ) {
      DATABASE[$1,1] = $2;
      DATABASE[$1,2] = $1;
   }
   close(cmd)
   
   cmd = "find /var/lib/mysql/ -maxdepth 1 -mindepth 1 -type d | xargs du -sm"
   while ( cmd | getline ) {
      VOL = $1;
      NAM = $2;
      if ( ! DATABASE[NAM,1] ) {
         print "There is no declared informations about " NAM " in table testdatabase."
      continue
      }
      if ( VOL > DATABASE[NAM,1] ) {
         print "Database " NAM " has too big actual size (" VOL "), it exceeds declared size in table testdatabase."
      continue
      }
   }
   close(cmd)
}
' /dev/null

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

gawk and bash

Hi. I'm having trouble using gawk within a bash script and I can't figure out why. I have a command that takes in a data file with two columns, the first one numbers and the second words. My code takes each line, and prints the word its corresponding number of times. The code works from the... (2 Replies)
Discussion started by: cdislater
2 Replies

2. Shell Programming and Scripting

Passing a MySql password from bash script

Hi all, I am running this script on Mandrakelinux release 10.1, 2.6.8.1-12mdksmp #1 SMP I have also installed 'expect' separately. I have created an Rsync script, but before any Rsync command does run, a MySql dump must be done first, and I am battling a bit to pass the MySql password from... (2 Replies)
Discussion started by: codenjanod
2 Replies

3. Shell Programming and Scripting

Create mysql database with bash script - confused

Hi, i have the following: db="create database xxx;GRANT ALL PRIVILEGES ON xxx.* TO user@localhost IDENTIFIED BY 'password';FLUSH PRIVILEGES;quit;" mysql -u root -p$mysql_pass -e "$db" I don't understand why this is failing, it works fine when run from cmd but when is run in a bash script,... (1 Reply)
Discussion started by: ktm
1 Replies

4. Shell Programming and Scripting

mysql and bash...

Ok the issue I have is a bit complicated, for me, and my understanding of shell programming and bash is non-existent. Background: I do web development for a team of programmers that make custom kernels for the Android OS. The guys are using a bash script (through gerrit or github, like I said... (4 Replies)
Discussion started by: Nyght
4 Replies

5. Shell Programming and Scripting

How to run bash script from within MySQL

Can someone tell me the syntax to run a shell script from within MySQL? I know there is a way to do it, but I can't remember the syntax. I thought it was something like: mysql> \. /user/myscript; but I get this error: Failed to open file '/user/myscript;', error: 2 Please help!... (4 Replies)
Discussion started by: peterv6
4 Replies

6. Shell Programming and Scripting

syntax issue with quotes in mysql command for a bash script

i'm trying to write a bash script that executes a mysql statement mysql -sN -e INSERT INTO "$database"."$tableprefix"users (var1, var2,var3) VALUES (123, '1','') i don't know where to put the quotes it doesnt work with this one: ` it seems i can only put double quotes around the... (0 Replies)
Discussion started by: vanessafan99
0 Replies

7. Shell Programming and Scripting

syntax issue mysql in bash script

I'm running mysql in a bash script mysql <<EOF query EOF one query is like this: UPDATE $dbname.$prefix"config" SET value = $var WHERE "$prefix"config.name = 'table colname'; with variable but it's giving an error i'm not sure what to put for "$prefix"config.name the table... (3 Replies)
Discussion started by: vanessafan99
3 Replies

8. Shell Programming and Scripting

Update a mysql column via bash script

Hello, I want to check the value of all MySQL columns.(column name is "status") via bash script. If value is "0" at I want to make only single column value to "1" I have many "0" values on mysql database(on "status" column) "0" means it is a draft post. I want to publish a post. I... (2 Replies)
Discussion started by: tara123
2 Replies

9. Ubuntu

Bash script for FTP download -Mysql

Hi guys, I recently managed to write up my working script, but now I have a problem. If the file isn't there in the remote server, my actual script jumps it and all ok, but I need something like this: Search file -> if there, then download -> if not, download next file in the list. Any... (7 Replies)
Discussion started by: virtus96
7 Replies

10. UNIX for Beginners Questions & Answers

Using bash script : How to Import data from a dsv file into multiple tables in mysql

HI I have a dsv file that looks like: <<BOF>> record_number|id_number|first name|last name|msisdn|network|points|card number|gender 312|9101011234011|Test Junior|Smith|071 123 4321|MTN|73|1241551413214444|M 313|9012023213011|Bob|Smith|27743334321|Vodacom|3|1231233232323244|M... (4 Replies)
Discussion started by: tera
4 Replies
NOTEDB::mysql(3pm)					User Contributed Perl Documentation					NOTEDB::mysql(3pm)

NAME
NOTEDB::mysql - module lib for accessing a notedb from perl SYNOPSIS
# include the module use NOTEDB; # create a new NOTEDB object (the last 4 params are db table/field names) $db = new NOTEDB("mysql","note","localhost","username","password","note","number","note","date"); # get a single note ($note, $date) = $db->get_single(1); # search for a certain note %matching_notes = $db->get_search("somewhat"); # format of returned hash: #$matching_notes{$numberofnote}->{'note' => 'something', 'date' => '23.12.2000 10:33:02'} # get all existing notes %all_notes = $db->get_all(); # format of returnes hash like the one from get_search above # get the next noteid available $next_num = $db->get_nextnum(); # recount all noteids starting by 1 (useful after deleting one!) $db->set_recountnums(); # modify a certain note $db->set_edit(1, "any text", "23.12.2000 10:33:02"); # create a new note $db->set_new(5, "any new text", "23.12.2000 10:33:02"); # delete a certain note $db->set_del(5); # turn on encryption. CryptMethod must be IDEA, DES or BLOWFISH $db->use_crypt("passphrase", "CryptMethod"); # turn off encryption. This is the default. $db->no_crypt(); DESCRIPTION
You can use this module for accessing a note database. There are currently two versions of this module, one version for a SQL database and one for a binary file (note's own database-format). However, both versions provides identical interfaces, which means, you do not need to change your code, if you want to switch to another database format. Currently, NOTEDB module is only used by note itself. But feel free to use it within your own project! Perhaps someone want to implement a webinterface to note... USAGE
please see the section SYNOPSIS, it says it all. AUTHOR
Thomas Linden <tom@daemon.de>. perl v5.10.1 2011-02-12 NOTEDB::mysql(3pm)
All times are GMT -4. The time now is 01:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy