Stap 5: Getting tweets.
Probeer op eigen risico. Ik veronderstel dat je weet hoe te gebruiken twitter en twidge. Slechts enkele voorbeeldscripts te experimenteren met:
Mogelijke opdracht om te gaan met twitter:
echo Hello wereld!
robot
———
###################################
# twitter controle
#
#=================================
# daffynitions
# ——————————–
username = "[accountname]"
datafile1 = "inlist"
datafile2 = "joblist"
datafile3 = "jobsdone"
een = 1
#===========================================
# code
#———————————————
# gegevens ophalen
twidge - c twidgetest lsrecent - su > $datafile1
# strip gebruikersnaam
sed -i van / / / g' $datafile1
# reverse bestand om
TAC $datafile1 > $datafile2
# doen opdrachten in volgorde
terwijl lees lijn
doen injob = $line
ECHO. / dojob $injob > werk
. / baan $1 $2 $3 4 $ $5 $6 $7 $8 $9
gedaan > $datafile3
#===================================
# Einde.
####################################
baan
—-
. / dojob
dojob
——-
Command = "$1″
commentaar = "Job #$$"
HDR "$comment" "$command" "$USER"
$1 $2 $3 4 $ $5 $6 7 dollar $8 $9
FTR "$comment" "$command" "$USER"
HDR
———–
echo “#————————————————————#”
echo "Bedrijfsnaam: $1″
echo "$3 wordt uitgevoerd: $2
echo “#————————————————————#”
FTR
———
echo “#————————————————————#”
echo "Bedrijfsnaam: $1″
echo "$3, uw baan: $2 gebeurt."
echo “#————————————————————#”
originele robot
————————
###################################
# twitter controle
#
#=================================
# code
# ——————————–
datafile = "todolist"
twidge - c twidgetest lsrecent - su > $datafile
sed -i van / / / g' $datafile
terwijl lees lijn
doen injob = $line
ECHO. / tdojob $injob > werk
. / baan $1 $2 $3 4 $ $5 $6 $7 $8 $9
gedaan < $datafile
#===================================
# Einde.
####################################
#! / bin/bash
#Get recente directe berichten verzonden naar directmessage_account
echo ' twidge lsdmarchive-ons | grep directmessage_account >> /path/to/todo.txt
#Remove afzender/recipiant informatie aangezien ik wil houden
sed -i van / < twitterusername >< directmessage_account > / / g' /path/to/todo.txt
#Remove blanklines todo.txt formated rechts houden
sed -i ' / ^ $/ d' /path/to/todo.txt
#Search voor zoekwoord "dnes" en als het is daar Stuur een direct bericht naar mezelf met de dingen die de volgende dag en zo niet zeggen "Not Found"
als grep - q "dnes" "/ path/to/todo.txt"; vervolgens
grep ' datum--'1 dag' datum ' + %m %d %y '' "/ path/to/todo.txt" | de sed / / _ / g' | xargs twidge dmsend twitterusername & & sed -i's / dnes / / g' /path/to/todo.txt
anders
echo "Niet gevonden"
fi
Met behulp van cron programma's uitvoert op een schema
cron is een Linux systeemproces, dat een programma op een vooraf ingestelde tijd uitvoeren zal. Als u wilt gebruiken moet u het voorbereiden van een tekstbestand met een beschrijving van het programma dat u wilt uitgevoerd cron en de tijden moet die cron hen uitvoeren. Vervolgens kunt u de crontab programma laden van het tekstbestand waarin de cron jobs in cron.
Hier is de indeling van een cron job-bestand:
[min] [uur] [dag van de maand] [maand] [dag van week] [programma moet worden uitgevoerd]
waar elk veld wordt gedefinieerd als
[min] Minuten dat programma moet worden uitgevoerd op. 0-59. doen niet ingesteld als * of het programma zal worden uitgevoerd eenmaal een minuut.
[uur] Uur dat programma moet worden uitgevoerd op. 0-23. * voor elk uur.
[dag van de maand] Dag van de maand die proces moet worden uitgevoerd op. 1-31. * voor elke dag.
[maand] Maand dat programma zou zij worden uitgevoerd op. 1-12 * voor elke maand.
[dag van week] Dag van de week. 0-6 waar zondag = 0, maandag = 1,..., zaterdag = 6. * voor elke dag van de week.
[programma] Programma moet worden uitgevoerd. Volledige pad bevatten.Hier volgen enkele voorbeelden:
0,15,30,45 **** /usr/bin/foo
/Usr/bin/foo elke 15 minuten uitgevoerd op elk uur, dag-van-maand, de maand en dag van de week. Met andere woorden, draait het om de 15 minuten voor zolang als de machine draaien.
10 3 *** /usr/bin/foo
/Usr/bin/foo wordt op 3:10 am op elke dag uitgevoerd.
10 * 1 ** /usr/bin/foo
/Usr/bin/foo wordt op 12:10 uur op de eerste dag van de maand uitgevoerd.
10 ** 1 * /usr/bin/foo
/Usr/bin/foo wordt op 12:10 uur op de eerste maand van het jaar uitgevoerd.
10 14 ** 1 /usr/bin/foo
/Usr/bin/foo wordt op 2:10 pm op elke maandag uitgevoerd.
Er zijn meer opties voor deze. Zie man man crontab -S 5.
Moet u crontab cron banen in cron laden. Eerst maakt u een tekstbestand dat de bovenstaande regel gebruikt om te beschrijven de crontaak die u wilt laden in cron. Maar voordat u het laden, type crontab -l om een lijst van alle banen die zijn geladen in crontab.
Indien geen geregistreerd staan, dan is het veilig om te laden van uw baan. In het volgende voorbeeld. Als u lopen /usr/local/bin/foo eenmaal per dag bij 3:10 am wilde, dan maak een tekstbestand
10 3 *** /usr/bin/foo
Sla het op als foo.cron. Typ vervolgens crontab foo.cron. Controleer als het was geladen door te typen crontab -l. Het moet zoiets worden weergegeven:
# DOEN dit bestand niet bewerken-bewerken van de kapitein en opnieuw te installeren.
# (ipwatch.cron geïnstalleerd op do Nov 18 11:48:02 1999)
# (Cron versie — $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
10 3 *** /usr/bin/foo
Als u wilt voor het bewerken van de cronjob, vervolgens bewerken foo.cron en verwijder vervolgens de bestaande crontaak (crontab - r) en laden opnieuw (crontab foo.cron). U kunt meerdere banen hebben. Zomaar verschillende elkaar op een aparte regel in foo.cron.
contab banen wordt uitgevoerd onder de gebruiker die van kracht was toen u de baan in crontab geladen.
Zie man cron, man crontab en man crontab -S 5 voor meer informatie.