Linux dator tweeting. (5 / 7 steg)
Steg 5: Att få tweets.
Prova på egen risk. Jag antar att du vet hur man använder twitter och twidge. Bara några exempel skript att experimentera med:
Möjliga kommando att ingå twitter:
ECHO Hej världen!
robot
———
###################################
# twitter kontroll
#
#=================================
# daffynitions
# ——————————–
användarnamn = "[kontonamn]"
datafile1 = "inlist"
datafile2 = "joblist"
datafile3 = "jobsdone"
en = 1
#===========================================
# kod
#———————————————
# få data
twidge - c twidgetest lsrecent - su > $datafile1
# strip användarnamn
sed -I's / / / g' $datafile1
# omvänd arkivera order
TAC $datafile1 > $datafile2
# göra kommandon för
medan Läs linje
göra injob = $line
ECHO. / dojob $injob > jobb
. / jobb $1 $2 $3 $4 $5 $6 $7 $8 $9
gjort > $datafile3
#===================================
# Slut.
####################################
jobb
—-
. / dojob
dojob
——-
kommandot = "$" 1 "
kommentar = "Job #$$"
HDR "$comment" "$command" "$USER"
$1 $2 $3 $4 $5 $6 $7 $8 $9
FTR "$comment" "$command" "$USER"
HDR
———–
echo “#————————————————————#”
ECHO "företagsnamn: $1
ECHO "$3 körs: $2
echo “#————————————————————#”
FTR
———
echo “#————————————————————#”
ECHO "företagsnamn: $1
ECHO "$3, ditt jobb: $2 är gjort."
echo “#————————————————————#”
ursprungliga robot
————————
###################################
# twitter kontroll
#
#=================================
# kod
# ——————————–
datafile = "todolist"
twidge - c twidgetest lsrecent - su > $datafile
sed -I's / / / g' $datafile
medan Läs linje
göra injob = $line
ECHO. / tdojob $injob > jobb
. / jobb $1 $2 $3 $4 $5 $6 $7 $8 $9
gjort < $datafile
#===================================
# Slut.
####################################
#! / bin/bash
#Get senaste direkta meddelanden som skickas till directmessage_account
ECHO "twidge lsdmarchive-oss | grep directmessage_account >> /path/to/todo.txt
#Remove avsändaren/recipiant information eftersom jag gillar att hålla
sed -I's / < twitterusername >< directmessage_account > / / g' /path/to/todo.txt
#Remove blanklines att hålla todo.txt formaten rätt
sed -i ' / ^ $/ d' /path/to/todo.txt
#Search för sökordet "dnes" och om det är det ett budskap direkt till mig med saker som förfaller nästa dag och om inte säga "Hittades inte"
om grep - q "dnes" "/ path/to/todo.txt"; sedan
grep "datum--date"1 dag"" + %m %d %y '' "/ path/to/todo.txt" | sed's / / _ / g "| xargs twidge dmsend twitterusername & & sed -i's / dnes / / g' /path/to/todo.txt
annat
ECHO "Hittades inte"
Fi
Med cron för att köra program på ett schema
cron är en Linux systemprocess som kommer att köra ett program vid en inställd tid. För att använda cron måste du förbereda en textfil som beskriver programmet du vill avrättades och tider ska som cron köra dem. Du använda crontab programmet för att ladda den textfil som beskriver cron-jobb i cron.
Här är en cron jobb filens format:
[min] [timme] [dag i månad] [månad] [dag i veckan] [program som ska köras]
där varje fält definieras som
[min] Minuter som programmet ska köras på. 0-59. Ange inte som * eller programmet som ska köras en gång i minuten.
[timme] Timme att programmet ska köras på. 0-23. * för varje timme.
[dag i månad] Dagen i månaden som processen ska köras på. 1-31. * för varje dag.
[månad] Månad som programmet whould utföras på. 1-12 * för varje månad.
[dag i veckan] Dag i veckan. 0-6 där söndag = 0, måndag = 1,..., lördag = 6. * för varje dag i veckan.
[program] Program som ska köras. Inkludera hela sökvägsinformation.Här är några exempel:
0,15,30,45 **** foo
Kommer att köras foo varje kvart på varje timme, dag-för-månad, månad och dag-för-vecka. Med andra ord, kommer att det köras varje kvart för så länge maskinen igång.
10 3 *** foo
Kommer köra foo kl 3:10 på varje dag.
10 * 1 ** foo
Kommer köra foo kl 12:10 den första dagen i månaden.
10 ** 1 * foo
Kommer köra foo kl 12:10 på den första månaden av året.
10 14 ** 1 foo
Kommer köra foo på 2:10 pm på varje måndag.
Det finns fler alternativ för dessa. Se man man crontab -S 5.
Du måste använda crontab för att ladda cron-jobb i cron. Skapa en textfil som använder ovanstående regel för att beskriva cron-jobb som du vill läsa in i cron. Men innan du laddar den, skriver crontab -l för att lista alla jobb som är inlästa i crontab.
Om inget anges, är det säkert att ladda ditt jobb. Exempel. Om du ville köra bin/foo en gång om dagen kl 3:10 och sedan skapa en textfil
10 3 *** foo
Spara det som foo.cron. Skriv sedan crontab foo.cron. Kontrollera om det var laddat genom att skriva crontab -l. Den bör Visa ungefär så här:
# GÖR inte redigera denna fil – redigera originalet och installera om.
# (ipwatch.cron installerat den Tor Nov 18 11:48:02 1999)
# (Cron version — $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
10 3 *** foo
Om du vill redigera cron-jobb, sedan redigera foo.cron och sedan ta bort den befintliga cron arbete (crontab - r) och ladda den igen (crontab foo.cron). Du kan ha flera jobb. Bara sätta varje annan en på en separat rad i foo.cron.
contab arbetstillfällen kommer att löpa under den användare som var i kraft när du laddat jobbet i crontab.
Se man cron, man crontab och man crontab -S 5 för mer information.