Jürgen Schilling - Natur | Fotografie | Technik .

 

JürgenSchilling

Natur | Fotografie | Technik

 
 

 Home

 Black&White
 Cyanotypie
 Fotogramme
 Infrarot
 Jägerprüfung
 Kategorien
 Kirlianfotografie
 Lochkamera
 Makroaufnahmen



Lightbox


 Manuals:
 
Alle Manuals
 Aluminium eloxieren
 Hochspannungsgenerator
 Belichtungszeitentabelle
 Beurteilung v. Negativen
 Blitzlichtfotographie
 Farbmischung
 Filmentwicklung
 Infrarotfotografie
 Teslatrafo
 Teslatrafo Rechner
 Schrauben u. Gewinde

 Entwicklingszeiten:
 Agfa Rodinal
 Kodak D76

 Tiefenschäferechner

 
 Impressum


______

















  
  Bilder pro Gast
  phpMyAdmin
  B4YCounter
  Most viewed
  Logout
  Login
  Theme curve
  Theme my-fruity

Kommandos zum administrieren des Linuxservers und der MySQL Datenbank mit der Bilddatenbank von Coppermine

 
Dateien in einem Verzeichnis zählen:
find /verzeichnis -type f | wc -l

Dateien in aktuellen Ordner zählen:
find . -type f | wc -l

Verzeichnisse zählen:
find /verzeichnis -type d | wc -l


Bilder nach Suchmuster im Dateinamen suchen und ausblenden:

Aufgabe:
Etwa 130 Dateien aus einer Serie sollen aus Coppermine ausgeblendet werden.

Die Dateien heißen so:
germany-302-Hoehenkirchen-Jagdkurs-Bergahorn-20120701
Bis auf den vorletzten Block ist alles gleich.

Daher ist dieses Suchmuster zu verwenden:
germany-302-Hoehenkirchen-Jagdkurs-*-20120701
 

In Tabelle "cpg11d_pictures" in Spalte "approved" YES oder NO eintragen
YES Bild wird angezeigt
NO Bild wird nicht angezeigt

Syntax mit einem Suchmuster:
UPDATE cpg11d_pictures
SET approved = 'NO'
WHERE `filename` LIKE '%-20120701%';

Syntax mit zwei Suchmustern:
UPDATE cpg11d_pictures
SET approved = 'NO'
WHERE `filename`
LIKE '%Hoehenkirchen-Jagdkurs-%-20120701%';

Ausgeblendete Bilder suchen:
SELECT * FROM cpg11d_pictures WHERE approved LIKE 'NO';


 
Bilder anhand von einem Suchmuster löschen

Syntax:
DELETE FROM tablename WHERE spaltenbezeichnung LIKE `%suchmuster%`

Beispiel:
Alle Einträge löschen, bei denen im Filenamen das Suchmuster "Pressestadt" auftaucht.
DELETE FROM cpg11d_pictures WHERE filename LIKE '%Pressestadt%';

Eintrag anhand mehrerer Suchparameter löschen:
DELETE FROM cpg11d_pictures
WHERE `filename` LIKE '%delhi%' AND `aid` = 154;

Vor dem Löschen erst einmal testen, ob man mit der DELETE Anweisung auch wirklich nur die gewünschten Einträge erwischt:
SELECT * FROM cpg11d_pictures WHERE filename LIKE '%Pressestadt%';

Suchen - ersetzen mit MySQL:
Dateinamen bereits eingelesener Bilder in der Datenbank ändern:
Ein Textmuster im Namen bestimmter Dateien ändern:

Allgemein:
UPDATE Tabelle
SET Spalte = replace(Spalte,'Testmuster','Neues_Textmuster')
WHERE Spalte LIKE '%Suchmuster_im_Dateinamen%';

Beispiel:
UPDATE cpg11d_pictures
SET filename = replace(filename,'germany-3','germany-4')
WHERE filename LIKE '%Hochsalwand%';

Beispiel:
UPDATE cpg11d_pictures
SET caption = replace(caption,'Exkursion im Rahmen meiner Jägerausbildung.','->')
WHERE 1 AND `filename`
LIKE '%Hoehenkirchen-Jagdkurs-%-20120701%';

Beispiel:
UPDATE cpg11d_pictures
SET caption = replace(caption,'Hier durften wir unter Anleitung Bäume und Büsche bestimmen.','Exkursion zum Bäume und Büsche bestimmen:')
WHERE 1 AND `filename`
LIKE '%Hoehenkirchen-Jagdkurs-%-20120701%'
 

Festplattenbelegung feststellen:

Dateien im aktuellen Verzeichnis zählen:

find . -type f | wc -l

Festplattenbelegung feststellen:

df -h = Belegung der Festplatten (in Megabyte)

du -h = Belegung aller Verzeichnisses und Unterverzeichnisse

du -sh /home/unterverz/* | sort -n  zeigt in /home/unterverz die Verzeichnisse an, die am meisten Platz belegen

-s, --summarize (display only a total for each argument)
-h, --human-readable
 
PHP Errorlogging runtersetzen

Hier liegt das Konfigurationsfile vom PHP5:

/etc/php5/apache2/php.ini

Diesen Wert für das error_reporting eintragen:

error_reporting =  E_ERROR
 
Zurücksetzung des MYSQL Root Passworts


1.Stop the mysqld daemon process.

          /etc/init.d/mysql stop

2.Start the mysqld daemon process with the –-skip-grant-tables option.

          mysqld_safe --skip-grant-tables &

3.Start the mysql client with the -u root option.

          mysql -u root -p

4.Execute the UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';

          UPDATE mysql.user SET Password=PASSWORD('mein_passwort') WHERE User='root';

5.Execute the FLUSH PRIVILEGES; command.

          FLUSH PRIVILEGES;

6. Aus der Managementkonsole rausgehen

          quit;

7. Stop MySQL Server:

          /etc/init.d/mysql stop

8. Start MySQL Server:

          /etc/init.d/mysql start

9. Wieder einloggen:

          mysql -u root -p
          > mein_passwort

 
 
MySQL Tabellen von Datenbank zu Datenbank kopieren

Eine Tabelle von einer Datenbank in eine andere Datenbank kopieren. Beide DBs sind auf dem gleichen Server.

Man geht in die Datenbank, in die die neue Tabelle kopiert werden soll:

Database: production
Tabelle: table

          USE production;

          CREATE TABLE tabelle LIKE production_sicherung.tabelle;
          INSERT tabelle SELECT * FROM production_sicherung.tabelle;


Bsp.:
Ich bin in der Datenbank: imagedb
und möchte aus der Datenbanksicherung "imagedb20120212" eine die Tabelle "cpg11d_pictures" zurück holen.

          USE imagedb;

          CREATE TABLE cpg11d_pictures LIKE imagedb20120212.cpg11d_pictures;
          INSERT cpg11d_pictures SELECT * FROM imagedb20120212.cpg11d_pictures;

 

Importierte Bilder am Stück umbenennen:

UPDATE cpgxxx_pictures
SET title = 'Titel, Beschreibung oder Suchwort'
WHERE `filename` LIKE '%Textmuster aus dem Dateinamen%';

Beispiel:

UPDATE cpg11d_pictures
SET title = 'Libanon / Beirut'
WHERE `filename` LIKE '%_beirut_112005.jpg%';

UPDATE cpg11d_pictures
SET caption = 'Beirut'
WHERE `filename` LIKE '%_beirut_112005.jpg%';

UPDATE cpg11d_pictures
SET keywords = 'xx'
WHERE `filename` LIKE '%_beirut_112005.jpg%';

Farben für das ./themes/my-fruity/style.css File:

C0C0C0 =  Tabellenrahmen (Dunkelgrau)
FCFCFC = Tabellenhintergrund (Helles Hellgrau)
E8E8EA =  Tabellenhintergrund (Hellgrau)
0000FF =   Dunkelblau
99FF99 =   Hellgruen

Den B4You Counter:

Den Zähler in die einzelnen Seiten einbauen:
<?php include ("B4YCounter/counter_count.php"); ?>

Den Zähler auf einer Seite anzeigen:
<iframe src="/B4YCounter/counter.php?b4yc_iframe=yes" width="150" height="75" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" name="B4YCounter"></iframe>

Das Layout des Zählerfensters einstellen:
 ./B4YCounter/styles/Default.php
 
B4YCounter 1.405:

Der Defaultstyle lässt sich nicht mehr ändern:
Konkret war die von mir erstellte Default.php-orig anstatt Default.php in der Datenbank eingetragen:
Datenbank: imagedb
Tabelle: b4y405_counter_config
Spalte: table_style
Wert: Default.php-orig

Den Style ändern:
UPDATE b4y405_counter_config
SET table_style = 'Default.php';

MySQL - Datenbank überprüfen

Ausführlicher DatenbankCheck:

mysqlcheck -A -e --auto-repair -u root -p


--auto-repair  If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked

-A   Check all tables in all databases. This is the same as using the --databases option and naming all the databases on the command line.

-f    Continue even if an SQL error occurs.

-r   Perform a repair that can fix almost anything except unique keys that are not unique.

-v  Verbose mode. Print information about the various stages of program operation.

-e  If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.
 

Feststellen ob Port 80 offen ist:
http://www.dyndns.com/support/tools/openport.html

Habe Port 80 auf der FritzBox auf den Webserver weitergeleitet. Dann war der Port offen.

Eigene IP feststellen:
http://checkip.dyndns.com:8245/

Apache: Mod Rewrite installieren

Auf dem Server in der Datei /etc/sysconfig/apache2 muss man die Zeile mit dem Eintrag APACHE_MODULES=“…“ finden und zu dem Inhalt den Eintrag mod_rewrite einfügen. Dann den Webserver neu starten.

Der Befehlaufruf /etc/init.d/apache2 restart führt den Neustart durch.

Kein Login über Internet Explorer 9. Mit Firefox 4.01 funktioniert es:

Wenn ein Login über Internetexplorer 9 nicht funktioniert oder sich die nach der Suche gefundenen Thumbnails sich nicht öffnen lassen, liegt das an einer falsch eingestellten Systemzeit.

Erklärung:
Für beide Funktionen werden Cookies. Cookies haben eine Verfallszeit. Wenn also die Zeitdifferenz zwischen Server und Client größer ist als diese Verfallszeit, sind alle Cookies automatisch ungültig und die Suche oder das Login funktionieren nicht.
Der alte Firefox ist da nicht ganz so kleinlich, und funktioniert auch mit verfallenen Cookies.
 

vs-ftp:
Der User der sich einloggen will, darf nicht in der "Root-Gruppe sein".
Sonst wird Anmelden verweigert.

MySQL stoppen / starten:

/etc/init.d/mysql stop
/etc/init.d/mysql start
oder:
rcmysql restart
 
Remove ^M:

for i in /www/www.sr71.de/B4YCounter/*; do dos2unix $i; done;
Nur für Textdateien. Bilder werden gelegentlich unlesbar.
 
Coppermine 1.5 Bilder lassen sich nicht einlesen:

Fehlermeldung: Critical error
PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed

-> In der Config von Coppermine auf ImageMagick umgestellt und funktioniert.

-> GD image muß in der php.ini aktiviert werden.
 
Coppermine 1.5  Ein Suchfenster in die Startseite integrieren:

<td align="left" valign="middle" class="tableh1">
<form method="get" action="thumbnails.php" name="searchcpg" style="margin:0px;padding:0px">
<input type="hidden" name="album" value="search" />
<input type="hidden" name="title" value="on" />
<input type="hidden" name="caption" value="on" />
<input type="hidden" name="keywords" value="on" />
<input type="hidden" name="filename" value="on" />

<input type="text" border:1px #FCFCFC; background:#BCFEC6"; width: 160px" name="search" maxlength="255" value="" class="textinput" /><br>
<input style="height:22; width:90px; border:2px #FCFCFC inset; font:12px Verdana,Arial; color:#000000; background:#FFFFFF" type="submit" value="Search" />
</form>
</td>
 
Cronjob zur für die Systemwartung und Datensicherung:

#!/bin/sh

# Schickt die Ausgabe der Scripte an die Mailadresse
# 1&1 akzeptiert keine Mails von Rechnern die ihre IP-Adresse über Dyndns auflösen lassen.
MAILTO=schilling@sr71.de

# Datenbankbackup mit dem Script /www/scripts/db-backup um 2:00
NOW=$(date +"%Y-%d-%m")
USER="????"
PW="???"
mysqldump --user=$USER --password=$PW --databases imagedb > /save/db-backup/imagedb_dump_$NOW.sql

#Den User www der Gruppe www wieder auf das gesamte Laufwerk berechtigen
chown -R www:www /www

#den Rechner neu starten
reboot

Den Cronjob für das Script einrichten:

crontab -e:

MAILTO=schilling@sr71.de
* 21 * * * /www/scripts/wartung -> DB-Backup und Rechte auf /www und /save gerade ziehen
 
 
Login into mysql - monitor:
www:~ # mysql -u root -p


Alle Datenbanken anzeigen:

mysql> show databases;


Auf eine Datenbank verbinden:

mysql> use imagedb;


Alle Tabellen einer Datenbank anzeigen:

mysql> show tables;


Die Reihen einer Tabelle anzeigen:

show columns from cpg11d_pictures;

Nach zwei Suchmustern suchen:
SELECT *
FROM `cpg11d_pictures`
WHERE 1 AND `filename`
LIKE '%iceland_%_198808.jpg%';

Die Anzahl der Ausgaben beim suchen begrenzen:

SELECT *
FROM `cpg11d_pictures`
WHERE 1 AND `filename`
LIKE '%australia%'
ORDER BY `filename` ASC LIMIT 0 , 30; 
 
 
 
 
Eine USB-Festplatte oder einen USB-Stick mit NTFS Filesystem mounten:

/etc/fstab:

# Mein 16GByte Verbatim USB-Stick:
/dev/sdc1 /USB-STICK ntfs-3g force 0 0

# Meine 500 GByte USB-Festplatte:
/dev/sdd1 /USB-PLATTE ntfs-3g force 0 0

Alles mounten was in der /etc/fstab steht:
mount -a

"force" ist notwendig, wenn der USB-Speicher vorher in einem Windowsrechner eingesteckt war.
 
Eine mySQL Datenbank in ein Dumpfile sichern:

mysqldump -u<username> -p  --databases databasename > <path and name of the file>

Bsp.:
mysqldump -u root -p --databases imagedb > /www/db-backup/imagedb_dump_2013-11-01.sql


Eine mySQL Datenbank von einem Dump zurücksichern:

mysql <dbname> < <path and name of the file>
-f überspringt alle Fehlermeldungen
-p fordert zur Passworteingabe auf
-u gibt den User an

mysql imagedb -u root -p -f < /www/db-backup/imagedb_dump_2013-11-01.sql
 
 
 
Batch rename von Files unter Unix / Linux
Dafür ist das Program "rename" zuständig, das zumindest bei SuSE 12.2 defaultmäßig mit installiert wird

Syntax:
rename Suchmuster Ersetzmuster in-welchen-Dateien

Beispiele:
Alle *.bak Dateien in aktuellen Verzeichnis nach *.txt umbenennen

$ rename .bak .txt *.bak

Ein Textmuster in einem File suchen und ersetzen:
Hier wurde der Ort "Elbach" in dem Filenamen falsch geschrieben.
Statt korrekterweise "elbach" wurde "ellbach" geschrieben. Das soll jetzt für alle Files im aktuellen Verzeichnis korrigiert werden.

Hier
In allen Files die auf:
*20090726.jpg
enden, den String *ellbach* (germany-3911-ellbach-birkenstein-20090726.jpg)
durch *elbach* ersetzen:

rename ellbach elbach *20090726.jpg
 

Bilder in andere Alben verschieben:
UPDATE `cpg11d_pictures` SET `aid` = '94'
WHERE 1 AND `filename`
LIKE '%iceland_%_198808.jpg%';

(aid= albumID)

Albumnamen ändern:
The title is just an alias to the AlbumID

UPDATE `cpg11d_albums` SET `title` = 'chile_color_2003'
WHERE `aid` = '11';

..or simply  change with "phpadmin" in the table "cpg11d_albums" the "title".

Den Hitcounter zurücksetzen (Number of views of each Picture):
update `cpg11d_pictures`
set `hits` = '0';

Einen Softlink auf eine Datei setzen:
Das Ziel darf nicht exstieren
ln -s index.cgi /www/www.foto-schilling/index.html
Wird jetzt die index.html aufgerufen wird die Anfrage an die index.cgi weitergeleitet.

Paßwort von mySQL ändern:
mysqladmin -u root [old password] [new password]
bei leerem Originalpaßwort nur "password"  eintippen.

 

Systemzeit und Hardwareuhr einstellen:

date  - Gibt die aktuelle Zeit aus

date -s "11/20/2003 12:48:00" - Setzt die Systemzeit auf die hier angegebene Zeit.

date '+DATE: %m/%d/%y%nTIME:%H:%M:%S' - Gibt die Zeit im angegebenen Format aus:

DATE: 02/08/01
TIME:16:44:55

Die Hardware Uhr auf die Systemzeit einstellen:

hwclock -w  stellt die Hardwareuhr auf die lokale Zeit ein (die zuvor mit "date -s" korrigiert wurde)
hwclock      zeigt die Uhrzeit der Hardwareuhr an.
 
Remove ^M:

To remove the ^M characters at the end of all lines in vi, use:

:%s/^V^M//g

Remove ^M mit dos2unix
dos2unix ist ein Programm das zumindest bei SuSE Linux mit dabei ist:

Für eine Datei:
dos2unix datei.txt

Für mehrere Dateien:
for i in ./download/*;
do
dos2unix $i;
done;

So kann die For-Schleife auch in eine Zeile geschrieben werden.
Um mit "Copy&Paste" zu arbeiten ist das viel praktischer:

for i in /www/www.sr71.de/phpadmin/*; do dos2unix $i; done;

Werden mehrere /*/*/* verwendet, läuft das Script durch mehrere Ebenen.
Funktioniert aber nicht immer!
Zuerst die Rechte mit chmod -R 777 setzen. Und hinterher die Rechte wieder korrigieren.
 
 
Apache Unterverzeichnis-Problem:

Die Startdatei der Webseite liegt in einem Unterverzeichnis von Webroot.
Wenn Webroot aufgerufen wird, muß auf die Datei im Unterverzeichnis weitergeleitet werden.

Konkret so:
http://www.foto-schilling.de -> http://www.foto-schilling.de/cgi-bin/index.cgi

Mit folgendem Eintrag in die
/etc/apache2/vhosts.d/vhost.conf werden sämtliche Anforderungen an Webroot, an das Unterverzeichnis "cgi-bin" an die Datei index.cgi weitergeleitet.

RedirectMatch permanent ^/$ http://www.foto-schilling.de/cgi-bin/index.cgi

Generell:
RedirectMatch permanent ^/alt/ http://www.domain.de/neu.html
 
 
Samba einrichten:
User einrichten: smbpasswd -a root
Dieser User muss bereits unter Unix in der /etc/passwd eingerichtet sein.

Die gesamte Sambaconfiguration läuft über die /etc/samba/smb.conf
Um Änderungen zu übernehmen, muß der Sambadeamon restarted werden:
rcsmb stop / rcsmb start
rcnmb stop / rcnmb start


www:/etc/samba # cat smb.conf

[global]
workgroup = TUX-NET
encrypt passwords = Yes
guest = ok
domain master = No
hosts allow = 192.168.178.20

[root]
comment = Full Tree
browseable = Yes
wirteable = Yes
public = Yes
path = /
read only = No
guest ok = Yes
 

HTML -Sonderzeichen:
 

Ä &Auml;
Ö &Ouml;
Ü &Uuml;
ä &auml;
ö &ouml;
ü &uuml;
 °C &deg;C
© &copy
ß &szlig;

 












© J.Schilling 27.02.2013