Toon posts:

[script] Omschakeling naar windows

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben hier bezig met het geschikt maken van een script voor windows (2000). Dit script heeft eerst op een linux server gestaan met als taak een remote database te synchroniseren met de locale database.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/data/scripts/Update:

#!/usr/bin/expect

spawn make -f /data/scripts/Makefile putdb < /dev/null

expect {
        password: { send xxxxxxx\n; interact }
}

=====================================================

/data/scripts/Makefile:

putdb:
/usr/bin/mysqldump database --password=password --add-drop-table --allow-
keywords --quote-names|bzip2| \
/usr/bin/ssh -v -p 522 alassb00@10.0.0.15 'bzcat|mysql database -h sql-1.vuurwerk.nl -u xxxxxx --password=xxxxxxx'


Aangezien de linux server binnenkort weg gaat, moet dit script geschikt gemaakt worden voor een windows omgeving.
Iemand ideeen over hoe ik dit het beste kan doen, en of hier eventueel tools voor zijn binnen windows. Heb zelf niet echt een goed idee namelijk over hoe ik dit kan aanpakken!

[ Voor 5% gewijzigd door Verwijderd op 06-11-2003 11:35 ]


Verwijderd

misschien wat meer commentaar over wat het script exact moet doen en hoe de connectie opgezet moet worden tussen de 2 databases.

en maak een verschil tussen "os" en applicatie commando's.

Verwijderd

Topicstarter
Het principe van dit script is eenvoudig, het maakt een mysql dump van de huidige database, en voert deze commando's remote weer uit. Niet echt effectief dus, aangezien er misschien maar een paar wijzigingen zijn geweest.
Daarom wil ik ook graag de efficientie wat omhoog halen, maarja hoe doe je zoiets in windows, in linux zo ik waarschijnlijk wat met het 'diff' commando gaan experimenteren oid!

De connectie tussen de 2 servers wordt opgezet door middel van ssh, ik weet niet zeker of de MySQL poort van de remote bak vanaf buiten ook toegankelijk is, zal ik zo eens even proberen, dat schept misschien meer mogelijkheden ;)

==========

MySQL is van buitenaf niet beschikbaar, het moet dus via een ssh verbinding!

[ Voor 9% gewijzigd door Verwijderd op 06-11-2003 12:12 ]


Verwijderd

als eerste heb je dan een ssh tool nodig omdat dit niet standaard in win2k zit.
kijk bijv. eens op www.vandyke.com (serverside) en putty (windows-client). in hoeverre je putty kan scripten, geen idee...

hoe je de mysql database moet synchroniseren is waarschijnlijk hetzelfde op windows als op linux (je gebruikt immers mysql tools) en die vraag kan je denk ik beter posten in sa ofzo.

[ Voor 13% gewijzigd door Verwijderd op 06-11-2003 12:46 ]


  • [Jules]
  • Registratie: Maart 2000
  • Laatst online: 03-09 08:10

[Jules]

Confusion in confusion

Heb je dit script al met cygwin getest?

Knowing others is to be clever.
Knowing yourself is to be enlightened.
Overcoming others requires force.
Overcoming yourself requires strength.


Verwijderd

Topicstarter
Heb er eens na gekeken, en denk niet dat het daarmee gaat lukken, als ik alle commando's die ik nu gebruik wil behouden, kost dat daarmee enorm veel moeite vrees ik..

Verwijderd

Topicstarter
Kleine update, aangezien het probleem nog niet is opgelost en het toch wel dringend is..

Ik heb bijna het complete script aan de praat gekregen via cygwin, en ipv ssh gebruik ik plink (command line versie van putty)

Maar nu loop ik tegen het volgende probleem aan:

Zodra ik de mysqldump ga versturen loopt het mis:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
spawn make -f /home/Administrator/scripts/Makefile putdb 
/usr/bin/mysqldump vacances testje --user=root --password=password --add-drop-table --allow-keywords --quote-names| \
/usr/bin/plink -v -P 522 -pw paswoord -l alassb00 10.0.0.15 'mysql alassydb -h sql-1.vuurwerk.nl -u freek --password=banaan'
Looking up host "10.0.0.15"

Connecting to 10.0.0.15 port 522

Server version: SSH-1.99-OpenSSH_3.1p1

We believe remote version has SSH2 RSA padding bug

We claim version: SSH-1.5-PuTTY-Release-0.53b

Using SSH protocol version 1

Received public keys

The server's host key is not cached in the registry. You

have no guarantee that the server is the computer you

think it is.

If you trust this host, enter "y" to add the key to

PuTTY's cache and carry on connecting.

If you want to carry on connecting just once, without

adding the key to the cache, enter "n".

If you do not trust this host, press Return to abandon the

connection.

Store key in cache? (y/n) Encrypted session key

AES not supported in SSH1, skipping

Using Blowfish encryption

Trying to enable encryption...

Successfully started encryption

Sent username "alassb00"

Sending password with camouflage packets

Sent password

Authentication successful

Started session

Sent EOF message

ERROR 1064 at line 1: You have an error in your SQL syntax near ': localhost    Database: vacances


DROP TABLE IF EXISTS `testje`' at line 1
Server sent command exit status 1

make: *** [putdb] Error 1


De output van de mysql dump:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- MySQL dump 9.09
--
-- Host: localhost    Database: vacances
-- ------------------------------------------------------
-- Server version   4.0.16-nt

--
-- Table structure for table `testje`
--

DROP TABLE IF EXISTS `testje`;
CREATE TABLE `testje` (
  `id` int(10) NOT NULL auto_increment,
  `data` varchar(200) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

--
-- Dumping data for table `testje`
--

INSERT INTO `testje` VALUES (1,'ejKEjkejkejekee');
INSERT INTO `testje` VALUES (2,'eefewewfefefrefefefe');
INSERT INTO `testje` VALUES (3,'fEfefFefefe4325432434');
INSERT INTO `testje` VALUES (4,'fEfefFefefe4325432434');
INSERT INTO `testje` VALUES (5,'254325435245425422');
INSERT INTO `testje` VALUES (6,'3qrfhr432uhy438r2');


Ik denk zelf dat het probleem het commentaar is in windows ( -- ) , in linux is dit namelijk ## Heb al andere versies van mysqldump getest, maar deze gebruiken allen de -- als commentaar

Iemand een ideetje?

[ Voor 4% gewijzigd door Verwijderd op 14-11-2003 13:46 ]


Verwijderd

Topicstarter
Vreemd, heb net wat lopen testen met mysql, gewoon commandline ziet wel -- als commentaar, het ligt dus niet aan het commentaar.. :?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik move je topic nog eventjes naar Software Algemeen omdat je vraag zich nu specifiek op MySQL toespitst, heb je daar meer kans op antwoorden.

Windows Operated Systems >> Software Algemeen
Pagina: 1