Categorie
Unix

Copiare i file tramite ssh e rsync

per copiare i file su SSH e rsync, rende la vita molto più facile.

Uno non deve mappare qualsiasi directory
Non si deve copiare i file di Meher, ma solo un diff

è per questo che ho scritto un codice di linea, in cui una copia risolutore è descritta

rsync -chavzP --stats username@remote-server:/path/to/the/folder/ /local/path/

Categorie
Unix

controllare i file più grandi di 2GB

Ascolta ho un codeline intresting per trovare tutti i file più grande poi 2 GB per Linux

trovare / var / -type f -size + 20000K ls -exec -lh {} ; 2> /dev / null | awk '{ print $ NF ": " $5 }' | -nrk nero 2,2

 

si -a / var | -r sort -n | -n testa 10

 

 

Categorie
notizia

ownCloud 5.0.0 rilasciato

Nuovo design
in ownCloud 5, la navigazione principale è stato riprogettato per differenziarsi chiaramente dai navigazioni in-app. Ciò consente anche l'applicazione più spazio e quindi una migliore messa a fuoco sul contenuto delle directory ownCloud. Impostazioni e menu Log-out sono stati combinati in un menu utente in alto a destra, che mostra anche l'utente attualmente connesso e lo rende più intuitivo da usare. Le impostazioni sono le impostazioni ulteriormente semplificate e specifiche app vengono spostati dalle impostazioni personali nelle applicazioni rilevanti. Per aiutare le persone a sincronizzare i loro dati, vi è una nuova pagina prima corsa che collega desktop & applicazioni mobili, nonché documentazione come sincronizzare contatti e calendari. Questa informazione viene visualizzata anche nelle impostazioni personali - e fa ottenere iniziato con ownCloud molto più facile per un utente.

Essenzialmente, il nuovo design aiuta a concentrarsi di più sul contenuto e rende più facile da navigare e impostare i desktop e mobile client di sincronizzazione.

Nuova App Antivirus
Le nuove scansioni del sistema antivirus file caricati di virus. L'amministratore può scegliere se i file infetti devono essere eliminati in modo automatico e / o registrato / riportato nel file di registro.

Nuova funzione Undelete Files
Ora gli utenti possono ripristinare un file che è stato accidentalmente cancellato tramite l'interfaccia web. È sufficiente selezionare i file nella sezione File Undelete e sono restituiti al punto in cui sono stati eliminati, con le versioni mantenuto.

Nuove API REST
Una nuova collaborazione aperta Servizi (OCS)-API REST base viene aggiunto per accedere e controllare da remoto ownCloud. L'OCS appena rilasciata 1.7 spec è supportato. Caratteristica principale è una API di nuove funzionalità per una più stretta comunicazione con il client desktop e mobili. Ora è molto facile per le applicazioni ownCloud per fornire una API REST in modo verranno aggiunte ulteriori funzionalità API in futuro.

I nomi visualizzati
Nella finestra di dialogo di interfaccia e la quota di, nomi di visualizzazione sono mostrati al posto dei nomi di login. I nomi visualizzati sono più facili da capire per gli utenti e possono essere modificati da un amministratore. L'amministratore può configurare i nomi visualizzati e possono essere modificati dagli utenti stessi. I nomi visualizzati possono anche essere recuperati da un server LDAP o AD per gli impianti più grandi. Questo rende molto più facile lavorare con ownCloud, come gli utenti vengono identificati separatamente dai loro ID generati dal sistema

Nuovo motore di ricerca
Viene aggiunto un nuovo motore di ricerca di app testo intero Lucene-based. Le persone possono utilizzare la ricerca per trovare non solo i file per nome, ma anche per i contenuti. La scansione viene eseguita in background per garantire un'esperienza reattivo per gli utenti.

Nuova galleria fotografica
ownCloud 5 contiene una galleria fotografica migliorato e riscritto. È dotato di un'interfaccia utente migliorata e semplificata, con una funzione di presentazione. Gallerie fotografiche possono anche essere condivisi con gli altri.

Nuovo sistema di documentazione
Vi è completamente nuovo utente, admin e sviluppatore di documentazione. La documentazione per l'utente e l'amministratore viene spedito con ownCloud e disponibili nel menu di aiuto. La documentazione per gli sviluppatori è disponibile on-line.

LDAP / miglioramenti AD
LDAP possono ora cercare di attributi, non solo nel nome utente ownCloud. Gli attributi di ricerca possono essere configurati. Molteplici / basi gruppo di utenti possono essere configurati nel backend LDAP. backend LDAP supporta i risultati di paging per migliorare le prestazioni se il server lo offre (richiede PHP 5.4) Un LDAP / backup AD resp. ospite replica può essere configurato per l'ambiente HA. LDAP multipla / server AD possono essere configurati.

Maggiore App storage esterno
Aumentare le prestazioni di storage secondario integrato, tra cui Dropbox, veloce, FTP, Google Documenti, S3, WebDAV e server ownCloud esterni, con una significativamente più veloce, più efficiente e più facile applicazione di archiviazione esterna. Questo è il modo più veloce per un cloud ibrido personali.

Miglioramento delle versioni
Il supporto per i file delle versioni è migliorata con un algoritmo intelligente che scade automaticamente le vecchie versioni se a corto di spazio. Il controllo delle versioni mantiene revisioni ogni 2 secondi per la prima 10 secondi, ogni 10 secondi per il minuto successivo, ogni minuto per la prossima ora, ogni ora per il prossimo 24 ore e una revisione al giorno fino a corto di spazio o di quote.

cache dei file espanso
La cache file è stato ricostruito nel ownCloud 4.5, e ha subito un lifting minore in ownCloud 5.0 per migliorare la velocità, prestazioni di file esterni, e la scalabilità di condivisione. Il sistema è anche un po 'più veloce con la nuova cache dei file, e meno inclini alla corruzione nella produzione.

Gestione applicazioni migliorata
La gestione del spediti e le applicazioni 3rd-party in ownCloud è migliorata. 3applicazioni rd parti possono essere facilmente installati dal repository centrale app (apps.owncloud.com) e vengono rimossi automaticamente dal server se disattivato. Se una nuova versione di un app 3rd party è pubblicato dall'autore poi un pulsante di aggiornamento appare sulla pagina di applicazioni all'interno ownCloud e lui applicazione può facilmente aggiornato con un solo click. Più di feedback ora viene data all'utente durante lungo in esecuzione l'installazione e l'aggiornamento operazioni. apps consigliati sono mostrati nella lista di applicazioni con un “consigliato” etichetta in modo che gli utenti possano trovare applicazioni di alta qualità migliore.

segnalibri migliorate
L'interfaccia utente dell'app segnalibri è migliorata e molto più facile da usare.

il miglioramento dei contatti
I contatti sono ora organizzati da gruppi (Categorie) invece di rubriche che danno accesso più intuitivo per Amici, Collaboratori, ecc della famiglia. La vista principale mostra una panoramica dei settori più rilevanti e la quantità di informazioni di regolare i automaticamente a seconda delle dimensioni della finestra del browser o dispositivo. L'interfaccia utente web è ora scritto interamente in JavaScript dare un'esperienza utente più reattiva.

sincronizzazione migliorata
Il desktop sincronizzazione clienti ed i clienti di telefonia mobile hanno migliorato la comunicazione con il server e può sincronizzare più velocemente con il carico del server più bassa.

calendario migliorata
Il calendario ha ora il supporto per classificata e l'opzione di dichiarare gli eventi come riservate o pubbliche. La condivisione è migliorata e la compatibilità con i clienti anche esteso.

correzioni generali
In generale, ci sono stati una serie di correzioni di bug, miglioramenti dell'interfaccia utente, e il miglioramento delle prestazioni. In particolare un 5x miglioramento nelle azioni di scrittura su disco, così come una migliore scalabilità complessiva di ownCloud su tutta la linea.

  • il supporto di Windows Server esteso
  • visualizzatore PDF viene aggiornato per migliorare le prestazioni e la compatibilità
  • lettore multimediale migliorata
  • le prestazioni complessive migliorate
  • Miglioramento delle prestazioni scaricare
  • Mostra la dimensione del file e il progresso durante il download

Maggiori informazioni qui: http://owncloud.org/features

Categorie
finestre

1006 Autorisation applet non è stato completamente caricato

Per risolvere questo problema è necessario fare queste cose:

  • cancellare la cartella pkcs_11 %USERPROFILE%AppDataLocalTemppkcs_11
  • Giava < 7 (Giava 7 Aggiornare 17) cache del browser cache di Java pulita partenza pulita “Pannello di controllo” Ricerca java “File temporanei di Internet” -> “impostazioni”
  • eliminare i file
  • vista compatibile
  • siti attendibili
Categorie
Hardware finestre

Mini / analizzare file di dump

Per aprire il file di immagine è necessario un corrispondente strumento di debug, che può essere scaricato da Microsoft:

Scaricare (11,3 MB): http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.4.7.2.exe

Dopo aver installato il programma, è possibile utilizzare il debugger “Inizio” -> “programma” -> “Strumenti di debug per Windows” -> “WinDbg” inizio.

Al fine di rendere veramente senso per lavorare con il debugger, sono anche i cosiddetti. I file di simboli necessari. Dal momento che il pieno ma con ca. 170 battere MByte di prenotare, si ma certamente vogliono valutare tali file di dump non tutti i giorni, se si sceglie di preferire, che WinDBG sé i file necessari da Internet porta.

Per fare per un:

Nel menu “File” -> “Sybol Percorso file” li inserire nella casella di input:

SRV*C:Symbols*http://msdl.microsoft.com/download/symbols

Quindi aprire il programma il file dump dalla directory “%SystemRoot% Minidump” su “File” -> “Aperto Crash Dump”

Ora il file viene caricato e le informazioni visualizzate. Due finestre sono aperte “Comando” e “Smontaggio”. La finestra “Smontaggio” si può tranquillamente richiudere, perché la loro valutazione, ma già presuppone notevoli capacità di programmazione.

il “Comando”-di solito finestra già abbastanza contiene informazioni preziose d'altra parte. L'informazione interessante, vedere:

***************************

* Analisi bugcheck *

***************************

Trova es: dietro “BugCheck” un codice di errore. Questo codice di errore è quindi possibile cercare anche della Microsoft Knowledge Base (http://support.microsoft.com/search/) uso. Se il codice di errore noto, Trova informazioni qui più accurato per, quale driver ha causato questo problema e le soluzioni spesso appropriate.

ma è possibile anche nel debugger già più determinato su questo codice di errore. Inserire nella finestra di comando, digitare il comando “!analizzare -v” un.

Poi un sacco di informazioni viene emesso; Qui è la prima linea nella parola scritta Capitals, che rappresenta il tipo di errore.

Se avete ancora bisogno di ulteriori informazioni nella guida, digitare nella finestra di comando “.hh [La Parola in maiuscolo]” un.

Inoltre, è possibile trovare la linea “Probabilmente causata da” (= Errore causato da:). Questo indica, quale file ha probabilmente causato l'errore. Con questo file è possibile anche riavviare una ricerca rilevante su Internet.

Se si dispone di un nome di file, si può anche essere nella finestra di comando può visualizzare più informazioni. il comando “lm v m[nome del file]” ottenere maggiori informazioni. Qui, il nome del file deve essere inserito senza estensione. Il nome del file è direttamente, proprio dietro il parametro m (senza spazi) inserito.

il comando “!devnode 0 1” possibile è ancora possibile stampare un elenco di tutti i driver caricati.

not Come conseguenza, Se si desidera il comando “!filo” nella finestra di comando, Mostra più informazioni. Trova nella linea di uscita “Lista IRP”, allora si dovrebbe cercare ulteriori informazioni su indirizzi. A tale scopo richiamare il comando “!IRP [addresse]” su. Nella collezione si trova il nome del driver, sono stati coinvolti nell'errore.

Per informazioni sugli errori e debugging può essere trovato alla:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ddtools/hh/ddtools/TOC_Debugging_b61a3911-d5dc-42de-96af-deb0d7df233b.xml.asp?frame=true

Se rimani bloccato da voi e tali richieste nei forum, ecc. vuole fare, Si dovrebbe sempre vedere tutto dalla sezione “Analisi bugcheck” di trasmettere informazioni come.

(Quelle) winfaq

Categorie
Scambio finestre

550 5.1.1 RESOLVER.ADR.ExRecipNotFound; non trovato

errore:

IMCEAEX-_O=domain_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=user@domain.de
#550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##

soluzione:

Creazione di una voce X500 sotto Indirizzo e-mail

/O=DOMAIN/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user

Categorie
Mela - OSX MAC

iR5051 Codice End #860

se hai int accedere alla stampante il codice di errore 860 quindi utilizzare il driver UFRII e aggiungere la stampante direttamente su TCP / IP su un Mac

Categorie
Hardware iOS

Nessuna sostituzione iPhone5 display disponibili

Purtroppo, ci sono attualmente ben funzionante iPhone 5 schermi di ricambio! Quindi, se il vostro schermo di iPhone è difettosa, si deve attendere un po '.

Se vi è un adeguato Lösund, li costano min. 150€

In allegato troverete una guida di riparazione

http://smartphone-mania.de/displaybruch-beim-iphone-5-hilfe-tipps-und-reparatur-anleitung/

Categorie
Unix

ISP Config Server Backupscript

Senti si ottiene uno script di backup perfetto ISP Config

#!/bin / bash
version ="0.9.4 a partire dal 2010-09-13"
# scaricare sempre l'ultima versione qui: http://www.eurosistems.ro/back-res
# Grazie o domande: http://www.howtoforge.com/forums/showthread.php?t = 41609
#
# CHANGELOG:
# -----------------------------------------------------------------------------
# versione 0.9.4 - 2010-09-13
# --------------------------
# Piccola correzione: - Corretto piccolo bug sostituito tar con $ TAR nella linea di recupero
# delle banche dati. (La linea: mysql -u $ dbuser -p $ passworddb $ RDB <)
# Grazie va a Nimarda e colo.
# -----------------------------------------------------------------------------
# versione 0.9.3 - 2010-08-01
# --------------------------
# Piccola correzione: - del_old_files modificati funzione per rimuovere "/" dal $ to_del
# variabile utilizzata per eliminare i vecchi file
# - Rimossi dal del_old_files funzionano sezione utilizzato per mantenere vecchi
# banche dati (Non funziona se non c'è spazio lasciato sul dispositivo). aggiunto
# nella sezione TODO
# -----------------------------------------------------------------------------
# versione 0.9.2 - 2010-04-18
# --------------------------
# scaricare sempre l'ultima versione qui: http://www.eurosistems.ro/back-res
# Grazie o domande: http://www.howtoforge.com/forums/showthread.php?t = 41609
#
# correzioni: - Prima esecuzione ora non dà errori (nokia80 Grazie, Snake12,
# rudolfpietersma, HyperAtom, jmp51483, bseibenick, dipeshmehta, andypl
# e tutti gli altri)
# - Modificata la funzione di log di accettare prima volta dir CREATEIN
# - Modificata la sequenza di avviamento di non controllare lo spazio libero se il
# directory di backup primaria non esiste
# - Se il backup primaria dir non esiste ora è creato alla partenza
# - Aggiunta una linea per rimuovere il maildata alla partenza se l'utente interrompe la
# lo script prima di finire i suoi posti di lavoro. Questo impedisce lo script per inviare
# mail scorretti.
# - Aggiunto collegamento http://www.howtoforge.com/forums/showthread.php?t = 41609
# forse alcuni dei downloader visiteranno il forum.
# - Aggiunto prima TODO
# -----------------------------------------------------------------------------
# versione beta 0.9.1 - prima release pubblica di ultima modifica 2009-12-06
# si trasferisce a http://www.eurosistems.ro/back-res.0.9.1
# -----------------------------------------------------------------------------
# TUTTI: - Aggiungere controllare file necessari (catrame, bzip2, posta, eccetera.)
# - Creare una migliore funzione del_old_files (2010-08-01)
# - Se avete bisogno di qualsiasi altra cosa sarò felice di farlo nel mio tempo libero, se
# si chiede qui: http://www.howtoforge.com/forums/showthread.php?t = 41609
#
# Diritto d'autore (c) go0ogl3 gabi@eurosistems.ro
# Se si vuole premiare il mio lavoro una piccola donazione con Paypal (usare la mia posta)
#
# Se vi piace il mio script registrati per favore e dire grazie qui:
# http://www.howtoforge.com/forums/showthread.php?t = 41609
# Questo è quello di mantenere vivo il filo in modo tale script può aiutare altre persone troppo.
#
# Questo programma è distribuito nella speranza che possa essere utile,
# ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di
# COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. vedere la
# GNU General Public License per ulteriori dettagli.
#
# Dovreste aver ricevuto una copia della GNU General Public License
# insieme a questo programma; altrimenti, scrivere alla Free Software
# Fondazione, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 Stati Uniti d'America
#
# L'avviso di copyright e questo avviso di autorizzazione devono essere incluse nel
# tutte le copie dello script.

# descrizione: Uno script di backup e ripristino per i database e le directory
#
# Lo stato di sviluppo è "Per me funziona"!
# Quindi non prendetevela con me se nulla di male accadrà a voi o al computer
# se si utilizza questo script.
# Ho fatto del mio meglio per farmi capire se continuate a leggere.
#
# Descrizione dettagliata
#
# pieno detto, mysql e script di backup incrementale
# Completa e incrementale ripristinare lo script
# E 'lo scopo di utilizzare le risorse minime e lo spazio e conservare una copia di backup moooolto.
# Ho cercato di rendere quanto più controlli possibili, ma non riesco a battere "inteligente" utenti.
# cose strane possono accadere se il dirs di backup comprende la "-" o "_" caratteri.
# Quei caratteri sono utilizzati da questo script ei file formata dallo script.

### parte Backup - =============================
#
# Importante!!! Assicurarsi che il sistema ha una data corretta. Suggerimento: uso ntp.
# Backup non è destinata ad essere interattivo, è destinata ad essere eseguito tutti i giorni dalle cron.
# Ecco perché il registro per il backup è tenuto in logdir $ BACKUPDIR / log / Backup.log
# Il 1 ° del mese un backup completo permanet è fatta.
# Il resto del tempo un backup incrementale è fatta, per data.
# I database sono a piena allways e lo script fa una riparazione automatica e
# ottimizza i database prima del backup.

### avvertimento!!! ###
# Se si imposta la "del_en" variabile "sì" lo script eliminerà il vecchio
# backup per fare spazio a quelli nuovi. Continuare a leggere.

### avvertimento!!! ###
# Tutti i backup incrementali e database per un mese verranno eliminati se lo spazio
# è inferiore alla percentuale massima di spazio utilizzato "maxp".

# È necessario fare attenzione a non entrare in un ciclo infinito se si imposta del_en ="sì"
# Il ciclo può accadere se i file eliminati formano $ BACKUPDIR non diminuire la
# per cento di spazio utilizzato
# Il controllo di script per alcuni dirs e file e si suppone di essere eseguito come root
# Si suppone Lo script da eseguire tutti i giorni dalle cron di notte come
# 40 3 * * * /etc / back-res 1>/dev / null 2>/dev / null
# Questo script verifica e corregge tutti gli errori trovati in tutti i database MySQL
# Lo script fa anche un backup completo di tutti i database mysql ogni volta che viene eseguito
#
# Ripristinare parte - ============================

# Restore è destinato a essere poco interattiva, i messaggi sono sullo standard output
# Dir di verbose vengono ripristinate con tar di default.
# Ultimo minuto del giorno "$hm" è impostato per 2359 ma il backup viene avviato a 03:40
# quindi questo dovrebbe essere impostato dopo il backup è terminato! A 23:59 del giorno di backup
# possiamo avere molti file modificati rispetto alla 03:40. La soluzione non è così perfetto
# per il backup nel corso della giornata (23:00) e la speranza il backup termina fino 23:59
# Il mio server è ancora caricato sul 23:00, per cui uso 03:40 in cron e hm = 2359
# perché un backup completo durare per più di 16 ore per tar.bz2
# Di sicuro farò perdere tutti i file creati tra 03:40 e 23:59 di quel giorno.
# Per evitare che posso ripristinare i file Un giorno, dopo il giorno voglio ristabilire
# e utilizzare trovare --newer per eliminare i file indesiderati.

# Per ripristinare dirs assicuratevi di avere il backup completo da quel mese e l'uso:
# `Back-non dire niente / etc 2009-11-23 /`
# per ripristinare la "/eccetera" dir dalla data 2009-11-23 radicare
# `Back-non dire niente / etc 2009-11-23 /tmp` viene utilizzato per ripristinare la "/eccetera" dir / tmp
#
# `Back-res dir tutto 2009-11-23 /`
# per ripristinare tutte le directory dalla data 2009-11-23 radicare

# Per ripristinare i database uso:
# `Back-res db mysql 2009-11-23`
# per ripristinare la "mysql" banca dati a partire dalla data 2009-11-23 al server MySQL locale
#
# `Back-res db tutto 2009-11-23`
# per ripristinare tutti i database dalla data 2009-11-23 al server MySQL locale

###############################
### Inizia sezione variabili ###
###############################

# Modificare le variabili di seguito per adatte al computer / backup

COMPUTER = `cat / etc / HOSTNAME | AWK 'NR == 1{stampare $1}'` # il nome di questo computer
DIRECTORY ="/bin / boot / etc / home / lib / lib64 / root
/ Sbin / usr / var / www" # le directory di backup
ESCLUSI ="/bck / tmp / dev / proc / sys / srv / media
/ Var / adm / var / cache / var / lib / mysql
/ Var / run / var / lock / lib / init / rw / var / tmp
/ Var / log / verlihub / var / lib / amavis / was / amavis / var / spool / postfix / p *
/ Var / spool / postfix / è stato .pid * * * .lck .lock" # escludere tali dir di e file
BACKUPDIR ="/bck / $ COMPUTER" # dove archiviare i backup
dbuser ="radice" # utente del database
passworddb ="la password" # password del database
email ="backup@yourdomain.com" # posta per il responsabile
TAR = che tar` ` # nome e la posizione di catrame
ARG ="-cjpSPf" #scarso # argomenti catrame P = rimosso /.
EARG ="-xjpf" # tar argomenti estratto P = rimosso /
tmpdir ="/tmp / tmpbck" # dir temp per dump del database e altre cose
del_en ="sì" # Abilita eliminazione di file se utilizzato lo spazio per cento > di $ maxp (sì o qualsiasi altra cosa)
maxp ="85" # Max percentuale di spazio utilizzato prima dell'inizio della cancellazione
hm ="2359" # all'ultimo minuto della giornata = all'ultimo minuto del backup ripristinato del giorno restaurato

###################################
### variabili modificabili dall'utente finale ###
###################################

#########################################################
# Non si dovrebbe avere a cambiare nulla al di sotto qui #
#########################################################

me = `basename $ 0 '
headline ="
---------------------=== Lo script di back-res da go0ogl3 === ---------------------
"
utilizzo ="$titolo
La parte di backup richiede qualche configurazione nell'intestazione dello script
e si suppone di essere eseguito da cron.
La parte di ripristino si suppone di essere eseguito da linea di comando.
ripristinare la parte di utilizzo:
t me $ [tipo-di-ripristino] [voi|db] [AAAA-MM-DD] [sentiero]

$ T dirmi [dir-a-restore] [ad oggi] [sentiero]
t me $ dir tutto [ad oggi] [sentiero]
t me $ db [db-to-restore] [ad oggi]
t $ db me tutto [ad oggi]

Dove 'dir' o 'db' per ripristinare è uno dei dirs configurati o db a
di riserva, o 'tutti' per ripristinare tutti dirs o db.
formato della data è data completa, anno ordinati, AAAA-MM-DD, piace 2009-01-30.
'Percorso' è per dirs ed è il percorso su cui si desidera estrarre il backup.
Se il percorso di estrarre non è impostato, quindi il backup viene estratto sulla /.
Per maggiori informazioni leggere l'intestazione di questo script!
-=== - === - === - === - === - === - === - === - === - === - === - === - === - === - === - ===-
"

di riserva () {

Se [ -n "$1" ] ; poi
echo -e "$uso"
uscita
essere

DOM = Dati +% `d` # Data del Mese, DD, per esempio. 27
FDATE = `date +% f` # pieno Data, AAAA-MM-DD, anno ordinati, per esempio. 2009-11-21
Mdate = `date +% Y-% M` # Data, AAAA-MM, per esempio. 2009-09

#################
### funzioni ###
#################

log funzione {
ora = `date "+%Y-% m-% d% H:%M:%S"` # Mi piace questo tipo di data. Tipo di Syslog non usa l'anno.
Se [ -e $ BACKUPDIR / log / Backup.log ]; poi
eco "$ora - `Basename $ 0 ' - $1" >> $BACKUPDIR / log / Backup.log
eco "$ora - `Basename $ 0 ' - $1" >> $tmpdir / maildata
altro
Se [ ! -d $ BACKUPDIR / log ]; poi
mkdir $ BACKUPDIR / log
Se [ -n "$log1" ]; poi
eco "$log1" >> $BACKUPDIR / log / Backup.log
eco "$log1" >> $TMPD / maildata
fi
eco "$ora - `Basename $ 0 ' - Prima corsa: log dir e file creato log." >> $BACKUPDIR / log / Backup.log
eco "$ora - `Basename $ 0 ' - Prima corsa: log dir e file creato log." >> $tmpdir / maildata
altro
eco "$ora - `Basename $ 0 ' - Prima corsa: log file creato." >> $BACKUPDIR / log / Backup.log
eco "$ora - `Basename $ 0 ' - Prima corsa: log file creato." >> $TMPD / maildata
fi
eco "$ora - `Basename $ 0 ' - $1" >> $BACKUPDIR / log / Backup.log
eco "$ora - `Basename $ 0 ' - $1" >> $TMPD / maildata
fi
}

funzione check_mdir {
ceppo "Verificando mese dir esiste: $BACKUPDIR / $ mdate"
Se [ -d $ BACKUPDIR / $ mdate ] ; poi
ceppo "dir Backup $ BACKUPDIR / $ mdate esiste"
altro
mkdir $ BACKUPDIR / $ mdate
ceppo "Mese dir $ BACKUPDIR / $ mdate creato"
fi
}

funzione check_tempdir {
ceppo "Verificando directory temporanea esiste: $tmpdir"
Se [ -d $ TMPDIR ] ; poi
ceppo "esiste Temp dir $ TMPDIR"
altro
mkdir $ TMPDIR
ceppo "Temp dir $ TMPDIR creato"
fi
}

del_old_files funzione {
to_del = `ls -ctF $ BACKUPDIR | Uva cum ^ log / | tail -n 1 | sed 's //// g'` # Ordinare i file in ordine ctime e selezionare il primo modificato, tranne il dir di registro
#Se [ -d "$BACKUPDIR / $ to_del" ] ; poi
# # recuperare i backup DB e memorizzare solo quelli di de primo giorno del mese o dal primo backup completo del dirs
# # elencare tutti i backup db in mese dir, estrarre prima data
# giorno = `ls -ct $ BACKUPDIR / $ to_del | tail -n 1 | cut -d "-" -f 5 | cut -d "." -f 1`
# # poi elencare tutti i nomi di file db
# DBList = `ls -ct $ BACKUPDIR / $ to_del | grep $ to_del- $ day`
# per db a $ dblist; fare
# mv $ BACKUPDIR / $ to_del / $ db $ BACKUPDIR / $ db # spostamento dei file mantiene la data di creazione
# fatto
# ceppo "Kept db da $ to_del- $ al giorno"
#altro
rm -rf $ BACKUPDIR / $ to_del
ceppo "cancellata la vecchia: $BACKUPDIR / $ to_del"
Numero = 0
mentre [ $contare -LT 3 ]
fare
count = $(($contare + 1))
#echo $ count argmax # per il test
check_space
fatto
#fi
}

#pfs ="95" # per il test

funzione check_space {
#pfs = $(($pfs-1)) # per il test
pfs = `df -h $ BACKUPDIR | AWK 'NR == 2{stampare $5}' | cut -d -f% 1`
# PFS ="90"

Se [ $pfs -gt $ maxp ] ;poi
ceppo "C'è spazio $ PFS% utilizzato su $ BACKUPDIR"
Se [ $del_en = "sì" ] ; poi
del_old_files
altro
ceppo "Nessuno spazio libero e del_en = $ del_en così abbiamo interrompere qui e inviare una mail a $ e-mail"
-s posta "backup giornaliero di $ COMPUTER `date + '% F'`" "$e-mail" < $tmpdir / maildata
Uscita
fi
altro
ceppo "Percentuale utilizzato lo spazio $ PFS% su $ BACKUPDIR OK."
fi
}

funzione db_back {
#Sostituire / con _ in nome dir => nome del file
# DIR_NAME = `eco "$DIRECTORIES" | awk '{gsub("/", "_", $0); stampare}'`

### controllo Tutte di db e correggere gli eventuali errori trovati

ceppo "Avvio di riparazione automatica e ottimizzare per tutti i database ..."
mysqlcheck -u $ dbuser -p $ passworddb --all-database --optimize --auto-riparazione --silent 2>&1
### Avvio di discariche di database
for i in `mysql -u $ dbuser -p $ passworddb -Bse 'spettacolo databases'`; fare
ceppo "A partire mysqldump $ i"
`Mysqldump -u $ dbuser -p $ passworddb $ i --allow-parole chiave --comments = false --add-drop-table > $tmpdir / db- $ i- $ FDATE.sql`
$ TAR $ ARG $ BACKUPDIR / $ mdate / db- $ i- $ FDATE.tar.bz2 -C $ TMPDIR db- $ i- $ FDATE.sql
rm -rf $ tmpdir / db- $ i- $ FDATE.sql
ceppo "Dump OK. $I database salvato OK!"
fatto
}

#############
### INIZIO ###
#############
rm -f $ tmpdir / maildata
Se [ -d $ BACKUPDIR ] ; poi
check_space
altro
mkdir $ BACKUPDIR
log1 ="$ora - `Basename $ 0 ' - Prima corsa: dir primaria $ BACKUPDIR creato."
ceppo "Prima corsa: dir primaria $ BACKUPDIR creato."
fi
check_mdir
check_tempdir
rm -rf $ tmpdir / esclusa
per una in `echo $ EXCLUDED` ; fare
exfile = `echo -e $ un >> $tmpdir / excluded`
fatto
#Uscita
db_back

for i in `echo $ DIRECTORIES` ; fare
XX = `echo $ i | awk '{gsub("/", "_", $0); stampare}'`
YX = `echo $ i | awk '{stampare $1}'`
FB = `ls $ BACKUPDIR | grep ^ intero $ XX-`
Se [ -da $ fb ] ; poi
ceppo "Nessun backup completo trovato a $ YX. Backup completo ora!"
eco > $tmpdir / full-backup $ XX.lck
$ TAR $ ARG $ BACKUPDIR / intero $ XX- $ FDATE.tar.bz2 $ YX -X $ tmpdir / esclusa
ceppo "Backup di $ YX fatto."
fi

# backup completo mensile
Se [ $DOM = "01" ] ; poi
ceppo "Avvio di backup completo mensile per: $YX"
$TAR $ ARG $ BACKUPDIR / intero $ XX- $ FDATE.tar.bz2 $ YX -X $ tmpdir / esclusa
ceppo "Backup completo mensile per $ YX fatto."
altro
# Se non è il primo giorno del mese che facciamo backup incrementale
Se [ ! -e $ TMPDIR / full-backup $ XX.lck ] ; poi
ceppo "Avvio di backup giornaliero per: $YX"
PIÙ NUOVI ="--più recente $ FDATE"
$TAR $ NEWER $ ARG $ BACKUPDIR / $ mdate / i $ XX- $ FDATE.tar.bz2 $ YX -X $ tmpdir / esclusa
ceppo "backup giornaliero per $ YX fatto."
altro
ceppo "File Lock per $ YX backup completo esiste!"
essere
essere
# Pulire file di blocco directory di backup completo
rm -rf $ tmpdir / full-backup $ XX.lck
fatto

#Clean dir Temp
rm -rf $ tmpdir / esclusa
# Fine dello script
ceppo "Tutti i processi di backup eseguiti. script di Uscita!"
}

ristabilire () {

del_res ()
{
# Ora abbiamo bisogno di rimuovere i file più recenti creati dopo la data di backup ripristinato.
to_rem = `trovare $ percorso / $ 2 $ -newer tmpdir / dateend`
echo -en "n $ headlinen Per un backup pulito restaurato $3 abbiamo bisogno ora per eliminare il filesncreated dopo la date.n backup Se esiste, un elenco di file da eliminare segue:nn"
per un a $ to_rem ; fare
echo -e "Essere rimosso: $un"
fatto
echo -en "ingresso nPrego "sì" per eliminare i file, se esistono, e premere [ACCEDERE]: "
leggi del
Se [[ "$il" = "sì" ]] ; poi
per un a $ to_rem ; fare
rm -rf $ un
fatto
echo -en "Tutti i processi di ripristino eseguiti!NDIR $2 restaurato ad oggi $3!n"
uscita
essere
}

Se [ -da "$4" ] ; poi
path ="/"
altro
path = $ 4 # questo è il percorso in cui estrarre i file
fi

Rdate = $ 3
DOM = `$ echo rdate | cut -d "-" -f3` # Data del mese ad esempio. 27
Mdate = `$ echo rdate | cut -d "-" -f2`
YDATE = `$ echo rdate | cut -d "-" -f1`

Tipo = $ 1
dir = `echo $2 | awk '{gsub("/", "_", $0); stampare}'`

Se [ -da "$3" ] ; poi
echo -e "$uso"
uscita
essere

# verifica ingresso povero data: ${#rdate} è 10 per una data corretta 2009-01-30
# trovare il primo possibile data di ripristino = giorno
anno = `ls -ctF $ BACKUPDIR | Uva cum ^ log / | tail -n 1 | cut -d "-" -f 2`
md = `ls -ctF $ BACKUPDIR | Uva cum ^ log / | tail -n 1 | cut -d "-" -f 3`
giorno = `ls -ctF $ BACKUPDIR | Uva cum ^ log / | tail -n 1 | cut -d "-" -f 4 | cut -d "." -f 1`
resdate = $ l'anno $ md $ al giorno

dh ="1234"
err = `toccare -t $ YDATE $ mdate $ DOM $ dh $ tmpdir / datestart 2>&1`

Se [ -n "$sbagliare" ] & [ ${#rdate} != 10 ] ; poi
#eco "err = $ err"
echo -e "$uso"
echo -e "formato data non valido. Corretto YYYY-MM-DD. Ex.: 2009-01-14n"
uscita
essere

# controllare per vedere se gli input dell'utente risalgono in futuro
TD = `date +% s` # oggi in epoca
ID = `date --date "$rdate" +%s` # data di input in epoca
RD = `date --date "$resdate" +%s` # prima data di backup in un'epoca

Se [ "$ID" -dare "$TD" ] ; poi
echo -e "$uso"
echo -e "formato data non valido. Data fornito $ rdate è nel futuro!n"
Uscita
fi

Se [ "$RD" -gt "$ID" ] ; poi
echo -e "$uso"
echo -e "formato data non valido. Data fornito $ rdate è prima del primo backup su $ Yearbook $ MD- $ al giorno!n"
Uscita
fi

#eco "Verificando percorso dir esiste: $sentiero"
Se [ $type = "voi" ] ; poi
# echo $ dir e $ path
Se [ -d $ path ] ; poi
Se [ -n "$sentiero" ]; poi
mesaj =""
fi
altro
mesaj ="Estrazione dir $ percorso non valido"
uscita
essere
essere

# Ora richiedere all'utente con le informazioni inserite sulla linea di comando.
# chiaro
echo -en "n Si desidera ripristinare $1 $2 per data di input $ 3.nnPlease "sì" se quanto sopra è ok con voi e stampa [ACCEDERE]: "
leggere ok

Se [[ "$ok" = "sì" ]] ; poi
Se [[ "$1" == "voi" ]] ; poi
Se [[ "$2" == "tutti" ]] ; poi
echo -en "nExtracting il backup di tutti di dir dalla data $3 a $ percorso:n"
dormire 5 # Aspettiamo 5 Sec per l'utente per vedere cosa sta succedendo.
altro
# Supponiamo l'utente utilizza / dir
Se [[ "$DIRECTORIES tutti" = ~ "$2" ]] ; poi
echo -en "nTrying per ripristinare $2 Backup dir dalla data $3 a $ percorso:nn"
# noi diciamo "provando" perché se la richiesta è dir "al" corrisponde!
dormire 5
fi
fi
Elif [[ "$1" == "db" ]] ; poi
Se [[ "$2" == "tutti" ]] ; poi
echo -en "nRestoring tutti i database MySQL dalla data $3 al server locale:n"
dormire 5
altro
Se [[ "$dblist" = ~ "$2" ]] ; poi
echo -en "nTrying per ripristinare $2 backup del database dalla data $3 al server locale:nn"
# noi diciamo "provando" perché è un controllo imperfetto, come sopra
dormire 5
fi
fi
fi
altro
echo -en "ingresso nInvalid. Uscita script ... nn"
Uscita
fi

DST ="010000" # primo minuto del primo giorno
toccare -t $ YDATE $ mdate $ DST $ tmpdir / datestart 2>&1
toccare -t $ YDATE $ mdate $ DOM $ HM $ tmpdir / dateend 2>&1
Se [ $type = "voi" ] ; poi
Se [[ "$DIRECTORIES tutti" = ~ "$2" ]] ; poi
Se [ $dir = "tutti" ] ; poi
Farh = `trovare $ BACKUPDIR -maxdepth 1 -tipo f -newer $ tmpdir / datestart -a ! -più recente $ tmpdir / dateend | sed 's _. * / __' | grep ^ full_`
ARH = `trovare $ BACKUPDIR / $ YDATE- $ mdate -maxdepth 1 -tipo f -newer $ tmpdir / datestart -a ! -più recente $ tmpdir / dateend | sed 's _. * / __' | grep -v ^ db-`
# echo $ Farh este Farh
# echo arh este $ arh
altro
Farh = `trovare $ BACKUPDIR -maxdepth 1 -tipo f -newer $ tmpdir / datestart -a ! -più recente $ tmpdir / dateend | sed 's _. * / __' | grep $ dir | grep ^ full_`
# echo $ e Farh Farh
ARH = `trovare $ BACKUPDIR / $ $ Date YDATE- -maxdepth 1 -tipo f -newer $ tmpdir / datestart -a ! -più recente $ tmpdir / dateend | sed 's _. * / __' | grep $ dir | grep -v ^ db-`
# echo arh e $ arh
fi
for f in $ Farh ; fare
echo -en "tExtracting $ f ... nn"
$TAR $ EARG $ BACKUPDIR / $ f -C $ path &>/dev / null
# se il giorno è 01 il backup completo viene recuperato in modo abbiamo bisogno di pulire i file più recenti creati dopo la data di backup.
Se [ $DOM = "01" ] ; poi
del_res $ path $2 $3 $tmpdir
fi
fatto
for i in $ ARH ; fare
echo -en "tExtracting $ in ... nn"
$TAR $ EARG $ BACKUPDIR / $ YDATE- $ mdate / $ -C $ path &>/dev / null
fatto
del_res $ path $2 $3 $tmpdir
altro
mesaj ="directory non valida per ripristinare!"
fi
Elif [ "$genere" = "db" ] ; poi
db = $ 2
# qui si costruisce la lista db per ripristinare dai file che abbiamo eseguito il backup prima nel corso della giornata richiesto
dblist = `trovare $ BACKUPDIR / $ YDATE- $ mdate -maxdepth 1 -tipo f | sed 's _. * / __' | grep ^ db- | grep $ YDATE- $ MDATE- $ DOM | cut -d "-" -f2`
dblist ="$dblist tutto"
#echo $ dblist
per d a $ dblist ; fare
Se [ "$d" == "$2" ] ; poi
Se [ "$db" = "tutti" ] ; poi
# ottenere db lista dal backup e il ripristino di tutti i db
ARH = `trovare $ BACKUPDIR / $ YDATE- $ mdate -maxdepth 1 -tipo f | sed 's _. * / __' | grep ^ db- | grep $ YDATE- $ MDATE- $ DOM`
altro
ARH = `trovare $ BACKUPDIR / $ YDATE- $ mdate -maxdepth 1 -tipo f | sed 's _. * / __' | grep ^ db- | grep $ db- | grep $ YDATE- $ MDATE- $ DOM`
fi
for i in $ ARH ; fare
RDB = `echo $ i | cut -d "-" -f2`
mysql -u $ dbuser -p $ passworddb $ RDB < $TAR -xvjp $ BACKUPDIR / $ YDATE- $ mdate / $ i
fatto
echo -en "Tutti i processi di ripristino eseguiti!I dati $2 restaurato ad oggi $3!n"
fi
fatto

Se [ -da "$RDB" ] ; poi
mesaj ="database non valido per ripristinare!"
fi

else
echo -e "$uso"
messaggio ="tipo non valido specificato"
fi

Se [ -n "$messaggio" ] ; poi
echo -e "$uso"
echo -en "TT ### t $ mesajt ### nn"
fi

# Invia accumulato maildata una pulitura
-s posta "backup giornaliero di $ COMPUTER `date + '% F'`" "$e-mail" < $tmpdir / maildata
rm -rf $ tmpdir / datestart
rm -rf $ tmpdir / dateend
rm -rf $ tmpdir / esclusa
rm -rf $ tmpdir / maildata

}

Astuccio "$1" in
voi)
ristabilire $1 $2 $3 $4
;;
db)
ristabilire $1 $2 $3 $4
;;
versione)
echo $ headline
echo -e "nVersione $ versionn"
;;
*)
di riserva $1
Uscita 1
esac

 

Categorie
hybris

hybris Gliwice / Polonia Harlem Agitare

Hello everyone,

It is great that hybris is taking part in so many activities, even these which don’t make much sense. J

On behalf of Gliwice Team in Poland I wish to invite you for our harlem-shake. Please have a look on a video and enjoy!