The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Speciale Forums > Web Programmeren, Web 2.0 en mash-ups
.
google unix.com



Web Programmeren, Web 2.0 en mash-ups Bespreek Web Programmeren en Web Server Administration, waaronder LAMP, Apache, MySQL, Flash, HTML, SEO, mash-ups en andere web-API's en onderwerpen.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
MySQL Developer, aan "Quan" (alias de MySQL Query Analyzer) iBot MySQL DevZone RSS 0 05-15-2009 01:30 PM
MySQL Universiteit - Opleiding op het gebied van MySQL Development & Internals iBot Solaris BigAdmin RSS 0 11-12-2008 09:10
How to break mysql dump sql bestand learnbash Programmeren en Shell Scripting 2 05-14-2008 05:39
herstellen mysql dump bestand in vele externe servers? blesets Programmeren en Shell Scripting 2 09-13-2006 01:17
help, wat is het verschil tussen core dump en paniek dumpen? Aileen UNIX voor Dummies Questions & Answers 1 06-11-2001 08:08 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Waardering: Thread Rating: 1 votes, 5.00 average. Display Modes
  #1 (permalink)  
Old 05-29-2009
jzacsh jzacsh is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Posts: 29
Question Verward misschien over Dump MySQL & PHP

Hallo. het doel van mijn inspanningen nu zijn om een grotere script van mij (die de beheerder vertelde me dat hij in cron voor mij) de juiste back-up van mijn MySQL-database. Om te testen uit de SQL back-up deel (voordat je het hele script in cron, en met het niet werken) Ik wilde testen. Dus hier is wat ik gedaan heb:

PHP-bestand op mijn testen (op de live-server)
Code:
<?php

$test = shell_exec('echo $SHELL');
echo "<pre>$test</pre>";

$output = shell_exec('sh ./sqlBack.sh');
echo "<pre>$output</pre>";
?>
Script wordt aangeroepen door de PHP
Code:
#!/usr/local/bin/bash

# MYSQL BACKUP:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
sql_bName=SqlBackup_$(date "+%A")

echo "The Shopping Cart's database backup will be in $sql_bDir and will be named $sql_bName" #NOTICE OF DATABASE BACKUP
mysqldump -uNAME -pPASS --opt DBASENAME > $sql_bDir$sql_bName.tgz
alleen voor het testen, deze beide bestanden zijn ingesteld op 777 op de server. De output van de PHP-bestand ziet er net zoals het zou moeten, maar dan vind ik de . / sql_backups / directory leeg. Ik probeerde de gebruikersnaam, wachtwoord en database van de laatste regel van het script in zowel hoofdletters en kleine letters (lees ergens dat hoofdsteden beter werkt .. Anyways). Ik ben niet ervaren met php / mysql .. Ik vond dat de syntax voor dat mysqldump regel in een artikel.

Bij voorbaat dank voor al je hulp!
  #2 (permalink)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Join Date: Feb 2007
Locatie: Innsbruck, Oostenrijk
Berichten: 1886
Als hij je hem in een cronjob, kunt u niet terecht aannemen wat de PWD (huidige directory) zal worden, zodat de regel:
Code:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
Is niet zinvol. U hebt een volledige pad, of misschien iets voorafgegaan door $ HOME.

Ten tweede, de mysqldump regel zou moeten zijn:
Code:
mysqldump -u NAME -p PASS  DBASENAME
Ten slotte moet u begrijpen dat de productie wordt niet automatisch gecomprimeerd. Doe dat afzonderlijk via een pijp
Code:
mysqldump -u NAME -p PASS  | gzip -c > $sql_bName.gz
Tot slot, je kan winnen sommige prestaties door buffering de output via een programma genaamd "dd". Dit laat mysqldump om zijn werk te doen voor een langere tijd vóór de overgang te maken van de compressie.
Code:
mysqldump -u NAME -p PASS DBASENAME  | dd bs=1M | gzip -c > $sql_bName.gz
Voor mijn dump, ik zorg ervoor dat de stortplaats wordt gedaan in een "single-transactie" om ervoor te zorgen dat de stortplaats is een realiseerbare staat. (dwz transacties niet plaatsvinden tijdens de dump). Ik stuur de uitvoer naar bzip2 voor hogere compressie.
Code:
mysqldump -u NAME -p PASS --single-transaction DBASENAME | dd bs=1M | bzip2 -c >dumpfile
  #3 (permalink)  
Old 06-02-2009
jzacsh jzacsh is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Posts: 29
Bedankt voor het antwoord!

Citaat:
Oorspronkelijk geplaatst door otheus View Post
Als hij je hem in een cronjob, kunt u niet terecht aannemen wat de PWD (huidige directory) zal worden, zodat de regel:
Code:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
Is niet zinvol. U hebt een volledige pad, of misschien iets voorafgegaan door $ HOME.
goed punt, ik begrijp dat wel, en ik alleen waren. / in plaats als iets tijdelijk als ik handmatige tests (gemakkelijker te typen voor het testen)

Citaat:
Oorspronkelijk geplaatst door otheus View Post
Ten tweede, de mysqldump regel zou moeten zijn:
Code:
mysqldump -u NAME -p PASS  DBASENAME
Ten slotte moet u begrijpen dat de productie wordt niet automatisch gecomprimeerd. Doe dat afzonderlijk via een pijp
Code:
mysqldump -u NAME -p PASS  | gzip -c > $sql_bName.gz
Dank je, ik had nagelaten om te lezen wat de "opt" optie is (was er een online artikel van de suggestie om het te gebruiken dat gezegd opt doet compressie)
Dit is wat ik gevonden:
Citaat:
o - OPT

Deze optie is stenotypist, het is hetzelfde als met vermelding
- add-drop-tafel - Add-lock - create-opties - disable-keys
- extended-insert - lock-tabellen - snel - set-charset. Het moet
geeft u een snelle dump werking en een dump bestand dat kan worden
herladen in een MySQL-server snel.

De - OPT optie is ingeschakeld door standaard. Gebruiken - skip-opt aan uitschakelen
het. Zie de discussie in het begin van deze sectie voor
informatie over selectief inschakelen of uitschakelen van bepaalde van de
opties beïnvloed door - OPT.
Als ik weet niet wat de meeste van die ^ doen (zoals ik ben niet bekend met MySQL) zou u voorstellen ik gewoon met de code die u eenvoudiger aangelegd? of zal het bovenstaande opties van "opt" geen pijn?

Citaat:
Oorspronkelijk geplaatst door otheus View Post
Tot slot, je kan winnen sommige prestaties door buffering de output via een programma genaamd "dd". Dit laat mysqldump om zijn werk te doen voor een langere tijd vóór de overgang te maken van de compressie.
Code:
mysqldump -u NAME -p PASS DBASENAME  | dd bs=1M | gzip -c > $sql_bName.gz
Dit is echt cool, thanks!
Citaat:
Oorspronkelijk geplaatst door otheus View Post
Voor mijn dump, ik zorg ervoor dat de stortplaats wordt gedaan in een "single-transactie" om ervoor te zorgen dat de stortplaats is een realiseerbare staat. (dwz transacties niet plaatsvinden tijdens de dump). Ik stuur de uitvoer naar bzip2 voor hogere compressie.
Code:
mysqldump -u NAME -p PASS --single-transaction DBASENAME | dd bs=1M | bzip2 -c >dumpfile
Er zijn meer dan 8.100 items in onze winkelwagen. na het lezen van de man die ik zie is voorgesteld voor het gebruik van "snelle" in combinatie met een "single-transactie" voor grote tafels. Wat is een "grote" tafel? Is 8.000 + items als een grote tafel? Als ik gebruik "snel" zal hij het doel van het uitvoeren van de bs \u003d 1M optie met dd?

Bedankt voor al je hulp!
  #4 (permalink)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Join Date: Feb 2007
Locatie: Innsbruck, Oostenrijk
Berichten: 1886
U hoeft niet te gebruiken - kiezen omdat het standaard ingeschakeld. 8000 punten is niet veel. De "snelle" optie zal niet het doel van het gebruik van bs \u003d 1M.
  #5 (permalink)  
Old 06-02-2009
jzacsh jzacsh is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Posts: 29
Question

Citaat:
Oorspronkelijk geplaatst door otheus View Post
U hoeft niet te gebruiken - kiezen omdat het standaard ingeschakeld. 8000 punten is niet veel. De "snelle" optie zal niet het doel van het gebruik van bs \u003d 1M.
Thanks so much for your help. Ik probeer om dit te testen op mijn persoonlijke leven website wordpress database eerste. dus ik geüpload test.php een bestand om het script, als volgt:

test.php
Code:
<?php

$output=shell_exec('sh /home/jzacsh/public_html/private/scripts/dbackup.sh');

echo "<pre>$output</pre>";

?>
de shell script zijn set te draaien is:

Code:
#!/bin/sh

sql_bDir=./sql_pickup/

#START SQL BACKUP + TGZ 
echo " " #VISUAL PADDING
echo "# BEGINNING DATABASE BACKUP PORTION:" #VISUAL
    #MYSQL LANDING DIR. CHECK
    echo "Checking if sql backup landing directory exists: $sql_bDir"
    if test -d "$sql_bDir"
    then
        echo "Directory to receive database backup exists"
    else
        echo "Directory to receive database backup does not exist, creating it"
        mkdir $sql_bDir
    fi #ENDIF SQL DIR. CHECK

echo " " #VISUAL PADDING

# MYSQL BACKUP
sql_bName=SQLBackUp_$(date +%A).gz
sql_Path=$sql_bDir$sql_bName

echo "The Shopping Cart's database backup will be:" $sql_Path #NOTICE OF DATABASE BACKUP
echo "Note: If the main backup is backing up the root directory, you do not need to separately download the database backup."

mysqldump -u name -p wppass --single-transaction db123 | dd bs=1M | gzip -c > $sql_Path
Vervolgens bezoek ik de bovenstaande ^ test.php via de browser en krijgt deze output:
Code:
 
# BEGINNING DATABASE BACKUP PORTION:
Checking if sql backup landing directory exists: ./sql_pickup/
Directory to receive database backup exists
 
The Shopping Cart's database backup will be: ./sql_pickup/SQLBackUp_Tuesday.gz
Note: If the main backup is backing up the root directory, you do not need to separately download the database backup.
Toen ik het bestand downloaden zijn alleen 4Kb, en op unarchiving het bestand, vind ik een nul KB-bestand, waarin het gebruik van "kat" via terminal toont aan dat het bestand is inderdaad leeg.

Enig idee wat ik zou kunnen doen verkeerd?
  #6 (permalink)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Join Date: Feb 2007
Locatie: Innsbruck, Oostenrijk
Berichten: 1886
1. verandering sql_bDir naar $ PWD / sql_pickup / zodat we kunnen zien waar in feite uitgangen.
2. voor het testen, schakelt u de compressie en sla het dd commando ... uitgang rechtstreeks naar het bestand.
  #7 (permalink)  
Old 06-02-2009
jzacsh jzacsh is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Posts: 29
Question

Citaat:
Oorspronkelijk geplaatst door otheus View Post
1. verandering sql_bDir naar $ PWD / sql_pickup / zodat we kunnen zien waar in feite uitgangen.
2. voor het testen, schakelt u de compressie en sla het dd commando ... uitgang rechtstreeks naar het bestand.
Oke, klaar. lijkt niet om een verschil te maken (het bestand nog steeds afkomstig uit 0 B, net ongecomprimeerd)

test.php output:
Code:
 
# BEGINNING DATABASE BACKUP PORTION:
Checking if sql backup landing directory exists: ./sql_pickup/
Directory to receive database backup exists
 
The Shopping Cart's database backup will be: ./sql_pickup/SQLBackUp_Tuesday
Note: If the main backup is backing up the root directory, you do not need to separately download the database backup.
bron van dbackup.sh
Code:
#!/bin/sh

sql_bName=SQLBackUp_$(date +%A)
mysqldump -u jzacsh_jzacsh -p wordpres --single-transaction jzacsh_jzwp  > $PWD/sql_pickup/$sql_bName
eigenlijk ... alleen in detachering ^ besefte ik dat ik nog niet gecontroleerd:
echo $ SHELL

... het teruggezonden
/ usr / local / cPanel / bin / noshell

I'm guessing dat betekent dat ik niet kan lopen dingen goed? (Ik ben niet zeker, ik had een natuurlijk reservoir van de output van een bestand met en alles ... Ik was niet succesvol in het uitvoeren van een GOEDE bestand)
Reply

Bladwijzers

Labels
back-up, mysql, php-test

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 10:24 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0