[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mysql e data



alla fini sono tornato all' idea originale e ho fattouno script che
legge il database in csv, legge la data, cambia la data e ora al
sistema e poi inserisce nel db i dati attraverso w3m assieme ad un
altro script in php.

ovviamente mentre è in funzione il seguente script, il computer è
inutilizzabile per altri scopi, in compenso il database mysql ha tutte
le entry perfettamente ordinate per data.

#!/bin/bash

WHOAMI=$(whoami)
if [ $WHOAMI != root ]; then
    echo "...devi diventare root con il comando su prima di lanciare
questo script"
    exit
fi
TOPICS=topics_to_add.csv
IFS=$'\x0A'$'\x0D' # fa in modo che prenda l' intera linea come input
per il ciclo for

for LINE in `cat $TOPICS`; do
    TIME=$(echo $LINE | cut -d ',' -f7 | tr -d '"' | cut -d ' ' -f1)
    H=$(echo $LINE | cut -d ',' -f7 | tr -d '"' | cut -d ' ' -f2)
    date -s "$TIME"
    date -s "$H"
    echo "$LINE" > /var/www/topics_to_add.csv
    w3m -dump -cookie http://localhost/add-topics.php
done

ntpdate www.clock.org # rimette a posto la data

-----------------------------------------------------------------------------------

saluti
MaX


Il 24/06/13, MaX<maxlinux2000@gmail.com> ha scritto:
> ok, ho capito come funziona lo script php... vuole avere all' inizio
> un il primo post con id 0.... mmm la cosa si complica.... preparerò un
> piccolo csv, e vi speigo il problema in un altro tread
>
> si tratta di estrarre i post in base al secondo campo, metterli in
> ordine di data in base al settimo campo, e poi rinominare il terzo
> campo da 0 in crescendo.....   vediamo se è possibile fare questo con
> cut/awk/sort... probabilmente awk è la scelta migliore....
> apriró un altro post più tardi
>
> Il 24/06/13, MaX<maxlinux2000@gmail.com> ha scritto:
>> ciao,
>>
>> pensandoci bene, non è assolutamente necessario che la data sia
>> corretta, al limite la aggingo all' inizio del messaggio e tanti
>> saluti... ora peró ho un problema più grave.
>>
>> lo script php che credevo funzionasse per inserire i dati, mi sta
>> facendo le bizze.
>>
>> Ho messo nel CSV, una unica linea contenente un post completo, e mi
>> risponde questo:
>> ===============================
>> username: ALEX
>> ERROR: No Parent Found
>> --No Parent thread found : Signori soci ..... - Riservata Admin
>> Faidate&Offgrid
>> FINISHED
>> ================================
>>
>> Lo script l' ho trovato qui:
>> https://www.phpbb.com/community/viewtopic.php?p=7174735#p11693665
>>
>> il mio file cvs contiene questi dati:
>>
>> "11290461","66244108","537039770","Alex","Signori soci ..... -
>> Riservata Admin Faidate&amp;Offgrid","Ecco&#44; spero di far cosa
>> gradita ... qui possiamo discutere le varie opzioni con calma
>> ...<br>Alex<br>
>> <br><br>http://fdt.forumfree.it/?t=66244108&p=537039770","1371679200";
>>
>> i campi sono rispettivamente:
>>
>> "forum_id","topic_id","post_id","username","subject","message","post_time"
>>
>> l' ho montato un una vecchia versione di phbb3 v.3.08 e importato
>> tutti gli utenti con il plugin cvs-import-user.
>> Ho creato anche la sezione (forum) rispettando il valore del campo
>> forum_id (11290461)
>>
>> a questo punto vorrei sapere cosa gli manca, e se funziona come credo.
>>
>> leggendo il codice (ma non sono molto bravo in php) pensavo che
>> cercasse l' username per ricavare l' id_user, poi cercasse  un post
>> con il "subjet" e se non lo trova lo crea... ma a quanto vedo, non lo
>> crea affatto.
>>
>> qualcuno versato in php può darmi una mano?
>>
>> Se riesco a farlo funzionare, poi metteró online l' esperienza e
>> scripts per chi dovesse in futuro realizzare migrazioni di forum
>> basati su IPB 1.3, a cui non è possibile accedere al database. :)
>>
>>
>>
>>
>> Il 23/06/13, Teodoro Santoni<asbrasbra@gmail.com> ha scritto:
>>> Ma nel file csv non potevi mettere le date, inserire il csv in un
>>> database mysql con date annesse come parte della tabella o delle
>>> tabelle, e quindi postare il risultato della query ordinata by quella
>>> data lì? È assolutamente necessario che in questa migrazione sia
>>> rispettata la data originale all'interno di phpbb?
>>> E se postassi tutto un post dopo l'altro e poi giocassi con questa mod
>>> qui? https://www.phpbb.com/community/viewtopic.php?f=70&t=2107473
>>>
>>> Hai già provato a mandare date -s senza riavviar nulla per poi
>>> eseguire oppure, per dire, non ti fidi?
>>>
>>> Il 23/06/13, MaX<maxlinux2000@gmail.com> ha scritto:
>>>> ciao a tutti,
>>>>
>>>> dopo aver scritto un crawler che mi ha estratto tutti i dati da un
>>>> forum di forumfree.it e salvato in un file csv, ora mi sto preparando
>>>> a reinserire i dati in un server locale mysql.
>>>>
>>>> ho trovato uno script in php che fa questo, ha ha il difetto che mette
>>>> tutti i post uno dietro l' altro senza rispettare le date in cui sono
>>>> stati scritti.... del resto non credo sia possibile per lo script
>>>> accedere al server a un cosí basso livello.
>>>>
>>>> al che stavo pensando di ingannare mysql cambiando la data della
>>>> macchina prima, ad ogni linea...
>>>>
>>>> praticamente:
>>>>
>>>> leggo la linea 1,
>>>> estraggo la data
>>>> passo la nuova data al sistema con "date -s"
>>>> lancio lo script php che inserisce la linea 1 in mysql attraverso
>>>> phpbb3
>>>> leggo la linea 2......
>>>>
>>>> il server locale è il mio portatile dove sto facendo gli esperimenti,
>>>> quindi non ci dovrebbero essere problemi per cambiare la data circa
>>>> 8000 volte in pochi minuti.... tuttavia esiste un rischio.
>>>>
>>>> e da qui la domanda:
>>>>
>>>> Mi chiedevo se non fosse possibile riavviare solo il daemon mysql
>>>> passandogli una data differenta da quella del sistema.
>>>>
>>>>
>>>> P.S. Non posso inserire i dati direttamente dal csv a mysql, in quanto
>>>> il database di phpbb3 è estremamente complesso e sarebbe come
>>>> riscrivere phpbb3, per cui la cosa migliore è questa: si utilizza uno
>>>> script che usa phpbb3 per inserire i dati.
>>>>
>>>>
>>>> --
>>>> ciao,
>>>> MaX
>>>>
>>>>
>>>> --
>>>> Per REVOCARE l'iscrizione alla lista, inviare un email a
>>>> debian-italian-REQUEST@lists.debian.org con oggetto "unsubscribe". Per
>>>> problemi inviare un email in INGLESE a listmaster@lists.debian.org
>>>>
>>>> To UNSUBSCRIBE, email to debian-italian-REQUEST@lists.debian.org
>>>> with a subject of "unsubscribe". Trouble? Contact
>>>> listmaster@lists.debian.org
>>>> Archive:
>>>> http://lists.debian.org/CAEyAVmswngkVW+Msqf2z_qfeNvP4A-FNAdk2O-+EMPWbhQXYQ@mail.gmail.com
>>>>
>>>>
>>>
>>
>>
>> --
>> ciao,
>> MaX
>>
>
>
> --
> ciao,
> MaX
>


-- 
ciao,
MaX


Reply to: