Sponsored Content
Top Forums Shell Programming and Scripting Compare file of hostnames with table in MySQL DB Post 302395233 by maxlamax on Monday 15th of February 2010 11:35:55 AM
Old 02-15-2010
Compare file of hostnames with table in MySQL DB

Hi all,

i have a list of files that contains some PC hostname, then i need to enumerate every hostname and check if there's a table with same name of the hosts in MySQL database XYZ.
I need this because have to decide automatically if i have to make a create table or a insert into an existent table.
Database XYZ is composed by a table for every hostname i have (inventory purposes), now i have a scheduled task that creates a inventory text file and put it in a directory. Let's go back to first phrases of this post, i wish to feed a list of inventory files into another file then compare entries from that file with a ls (or similar) of sql directory.
I know for sure that for every old hostname there's a table named like the hostname but in the script that execute the sql code i need to create a new table in case of new hostname that make himself the inventory, so...

Eg.

I have a file named "hostnames" which contain:

Code:
 
pc001
pc002
pc005
...

And a directory "sqldir" which contains sql tables of the machines:

Code:
-rw-r--r-- 1 root root 12 2010-02-15 17:17 pc001.frm
-rw-r--r-- 1 root root 12 2010-02-15 17:17 pc001.MYI
-rw-r--r-- 1 root root 12 2010-02-15 17:17 pc001.MYD
-rw-r--r-- 1 root root 12 2010-02-15 17:17 pc002.frm
-rw-r--r-- 1 root root 12 2010-02-15 17:17 pc002.MYI
..............

Now... Have anybody optimal way or suggests to read the file "hostnames" and then compare every hostname with the list of the directory "sqldir" and set a variable to make possible decide if it's the time to create a new table or append a existent one?

P.S. I have already the statement to create a new one or append, need only to put the right value for the variable which decide "right" or "left"... Smilie

Sorry if i have written too much but i'm not very confident in US/english and i fear to going misunderstood... Thx

Last edited by maxlamax; 02-15-2010 at 12:48 PM.. Reason: errors
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

MySql: create table error

Hi, iam learning MySql. Iam trieing to create a table in the database "guestbook" at the command line in mysql heres what i type but i get a error mysql>create table guestbook ->( -> name varchar(40) null. -> url varchar(40) null. -> comments ... (3 Replies)
Discussion started by: perleo
3 Replies

2. UNIX for Dummies Questions & Answers

Editing a mySQL table on a remote machine

Hi all, My problem: I want to connect to a remote computer (in the same office as me) which is running a mySQL server, access a specific table and update it, beofre disconnecting from the server. Is this possible? If so, any links/tutorials which might be of use? I had thought of some sort of... (6 Replies)
Discussion started by: Sn33R
6 Replies

3. Shell Programming and Scripting

Help Inserting data in mysql table

Cant understand the error #!/bin/bash temp="" A="" D=$(date +"%Y-%m-%d") H=$(date +"%R") temp=$(wget -q -O - website | grep -o "Temperature:]**" | grep \-E -o "+") mysql -D "weather_wise" -e "INSERT INTO weather (Date, Hour, Degrees) VALUES ($D,$H, $temp)"; my data types for... (11 Replies)
Discussion started by: vadharah
11 Replies

4. Programming

API C MYSQL vs lock table ???

(sorry for my english) Hi, i have an app that uses MYSQL API C.. i trying do a timeout until the table is locked by an other thread , in the docs of Mysql i can see that MYSQL_OPT_READ_TIMEOUT is not implemented for linux ¿?¿?.. any body knows a way to do a timeout until the table is locked by... (0 Replies)
Discussion started by: JEscola
0 Replies

5. UNIX for Dummies Questions & Answers

Displaying text from a MySQL table which can be modified

Hi am creating a website for my third year at uni, am trying to create a website where the client can update the content of the site themselves, i will have a news page and i want the content to be draw from my database and displayed on the front end of the site i also want to have an admin side... (3 Replies)
Discussion started by: richeyrich86
3 Replies

6. Shell Programming and Scripting

Extract Mysql table output to a log file

I need to compare the 2 mysql database tables. there are around 50 tables in each DB. my idea is in DB1 extract result select * from table1; to alog file1 in DB2 extract result select * from table1; to alog file2 now compare log file 1 file 2 pls help me out ... thanks in advance (5 Replies)
Discussion started by: kalyankalyan
5 Replies

7. Shell Programming and Scripting

mysql how to select a specific row from a table

i have a table records ------------ id | user | time | event 91 admin | 12:00 | hi 92 admin | 11:00 | hi 93 admin | 12:00 | bye 94 admin | 13:00 | bye 95 root | 12:00 | hi 96 root | 12:30 | hi 97 root | 12:56 | hi how could i only select and display only the user and event from... (6 Replies)
Discussion started by: kpddong
6 Replies

8. UNIX and Linux Applications

mysql table disappear

I have set a mysql file to excute everyday morning to generate a html file displayng 2 tables from the database. Sometime they cannot be shown, and it shows the tables are not existed. I have not drop any table, and those 2 tables are not used by any other excution. Anybody know what is happening?... (0 Replies)
Discussion started by: c203040
0 Replies

9. Programming

Getting Rows from a MySQL Table with max values?

I feel stupid for asking this because it seems that MYSQL code isn't working the way that I think it should work. Basically I wrote code like this: select * from `Test_DC_Trailer` HAVING max(DR_RefKey); Where the DR_RefKey is a unique numeric field that is auto iterated (like a primary key)... (7 Replies)
Discussion started by: Astrocloud
7 Replies
grass-mysql(1grass)						Grass User's Manual					       grass-mysql(1grass)

NAME
grass-mysql - MySQL driver MySQL driver MySQL driver in GRASS MySQL database driver in GRASS enables GRASS to store vector attributes in MySQL server. Because vector attribute tables are created automaticaly when a new vector is written and the name of the table is the same as the name of the vector it is good practice to create a new database for each GRASS mapset. Creating a MySQL database A new database is created within MySQL: mysql> CREATE DATABASE mydb; See the MySQL manual for details. Driver and database name GRASS modules require 2 parameters to connect to a database. Those parameters are 'driver' and 'database'. For MySQL driver the parameter 'driver' should be set to value 'mysql'. The parameter 'database' can be given in two formats: Database name - in case of connection from localhost String of comma separated list of kye=value options. Supported options are: dbname - database name host - host name or IP address port - server port number Examples of connection parameters: db.connect driver=mysql database=mytest db.connect driver=mysql database='dbname=mytest,host=test.grass.org' Data types GRASS supports almost all MySQL data types with following limitations: Binary columns (BINARY, VARBINARY, TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB) are not not supported. If a table with binary col- umn(s) is used in GRASS a warning is printed and only the supported columns are returned in query results. Columns of type SET and ENUM are represented as string (VARCHAR). Very large integers in columns of type BIGINT can be lost or corrupted because GRASS does not support 64 bin integeres on most platforms. GRASS does not currently distinguish types TIMESTAMP and DATETIME. Both types are in GRASS interpreted as TIMESTAMP. Indexes GRASS modules automaticaly create index on key column of vector attributes table. The index on key column is important for performance of modules which update the attribute table, for example v.to.db, v.distance and v.what.rast. Privileges Because MySQL does not support groups of users and because only MySQL 'root' can grant privileges to other users GRASS cannot automaticaly grant select privileges on created tables to group of users. If you want to give privilege to read data from your mapset to other users you have to ask your MySQL server administrator to grant select privilege to them on the MySQL database used for that mapset. For example, to allow everybody to read data in from your database 'mydb': shell> mysql --user=root mysql mysql> GRANT SELECT ON mydb.* TO ''@'%'; Schemas Because MySQL does not support database schemas the parameter 'schema' of module db.connect should never be set to any value. If you set that parameter for MySQL driver GRASS will try to write tables to the specified schema which will result in errors. Groups MySQL does not support user groups. Any settings specified by 'group' parameter of module db.connect are ignored by GRASS for MySQL driver. SEE ALSO
db.connect, SQL support in GRASS GIS Credits Development of the driver was sponsored by Faunalia (Italy) as part of a project for ATAC. AUTHOR
Radim Blazek Last changed: $Date: 2011-02-07 18:59:50 +0100 (Mon, 07 Feb 2011) $ Help Index GRASS 6.4.2 grass-mysql(1grass)
All times are GMT -4. The time now is 08:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy