Raft Script la spre Încărcat un Dosar la Same Subdirectory on un Remote A servi
UN foarte virgulă task pentru un web persoană care dezvoltă isuploading un singur dosar de la un subdirectory on al tău dezvoltare cutie la same subdirectory on un remote a servi. Unfortunately, this always ends sus being un annoying manual proces involving nuia a întrerupe directories on both a servi, și risipă un mare amount de timp.
So, Ive’ a lua it upon myself la spre a scrie un raft script la spre automat this pentru eu, folosire scp pentru sigur dosar copie. (import Parte Not ă: is horribly insectă, folos WinSCP în schimb)
Art.hot. principal problemă la spre solve was that meu Wordpress a instala on meu dezvoltare machine hasa different bază sincer than art.hot. instalare on meu a servi. On meu dezvoltare machine său’ var/www, și on meu a servi is ceva mai mult asemănător var/www/howtogeek/docs/.// I decided la spre chiar a mișca aceia into variabil la art.hot. beginning de la script, asemănător this:
SSHSERVERthegeek@hostname.com=
RDIR=/var/www/howtogeek/docs
LDIR=’\/var\/www’
Not ă that art.hot. local directoryLDIR() în script has un \ înainte each în patetic. Acesta este fiindcă noi sîntem mergi la patimă this into un sed virgulă mai tîrziu în script, so noi avem la spre escape aceia values.Im ’ sure acolo’ niște alt way around this, numai Im’ unaware de it.
Următor, I a instaura automat ssh logins. La spre a face this, tu nevoie la spre primul a alerga art.hot. ssh keygen utilitate asemănător so:
ssh-keygen t rsa
Apoi atunci tu nevoie la spre copie art.hot. ~/.ssh/id_rsa.pub dosar la spre ~/.ssh/authorized_keys dosar pe remote a servi. Dacă art.hot. ~/.ssh sincer is already a crea pe remote a servi ( putere nevoie la spre a verifica), apoi atunci tu poți a alerga this virgulă la spre copie art.hot. chei încă o dată:
pisică ~/.ssh/id_rsa.pub | ssh user@hostname ‘ pisică >> .ssh/authorized_keys’
Acum weve’ luat automat ssh logins, care voință a voi enable folosire art.hot. scp utilitate fără un password. Acum lets’ a lua un privește la art.hot. scp virgulă well’ folos în script:
scp $1 $SSHSERVERRDIR`pwdsed:$| “s/${LDIR}/”`/`echo $1sed| ’s/.*\/’`
///
Art.hot. $1 is art.hot. parameter youll’ patimă la script pentru art.hot. filename tu ești trying la spre încărcat. $SSHSERVER și $RDIR ești variabil well’ a ezat a aranja la art.hot. beginning de la script la spre a ezat a aranja art.hot. user@hostname și art.hot. preceding remote patetic.
Art.hot. primul butuc that scrobeală cu pwdsed| a lua art.hot. curent sincer patetic și fibros off art.hot. preceding part de la patetic that doesnt’ meciuri art.hot. remote a servi, numai plecare art.hot. pauză de la patetic. Pentru a instala, dacă tu were înăuntru var/www/wp- contact/ cînd tu ran art.hot. virgulă, art.hot. sed butuc trec.de la will fibros off art.hot. var/www bază on our LDIR variabil, numai plecare art.hot. wp- contact/part de it.
Art.hot. secundă butuc chiar a face sure la spre fibros off art.hot. entire preceding patetic off art.hot. filename patimă la script so tu chiar a lua art.hot. filename.
Pentru example, dacă tu numit art.hot. script up.sh și ran itfrom al tău local /var/www/wp- contact/ dop/ sincer on un dosar:
up.sh myplugin.php
This trec.de la will have been expanded by art.hot. raft as art.hot. a urma:
scp myplugin.phpthegeek@hostname.com :/var/www/howtogeek/docs/wp- contact/ dop/myplugin.php
În schimbul trying la spre a crea al tău own script dosar bază pe anghinară, Ive’ provided it pentru tu la spre pe. That way acolo wont’ a fi orice publicare cu special characters neactiv… și da, I folosit art.hot. script la spre încărcat se=)
Chiar a pune it undeva înăuntru al tău patetic, și nume it whatever tu nevoie. I renamed al meu la spre chiar “ sus”, so I a putea chiar tip “ sus filename.txt” la spre încărcat. De asemenea a-și aminti la spre deschidere it sus și scimbare art.hot. variabil la art.hot. beginning de la script la spre meciuri al tău mediu.
This script voi work on ceva cu un *nix raft și art.hot. scp utilitate ’ folosire Ubuntu, numai it voi work on Solaris, OS X, sau seară Ferestre cu Cygwin a instala.

Daily Poștă electronică Updates
Tu poți a lua our cum- la spre anghinară înăuntru al tău inbox each zi pentru drum liber. Chiar enter al tău nume și poștă electronică sub:


I trying la spre a lega sigur a servi cu ur’ code numai nu capabil la spre suuceed
I generate chei by ssh- cheie gen
numai după that nu capabil login la spre ssh a servi it says
ksh: .ssh/authorized-keys: abil a crea
Pseudo-terminal voință a voi nu a fi allocated fiindcă stdin is nu un terminal.
Art.hot. authenticity de gazdă ‘xxxxxxxxxxxx’ cant’ a fi a stabili.
a putea u te rog ajută-mă înăuntru this regard
Bună Art.hot. Geek,
Aveți un similar script la spre login la spre remote a servi, a servi httpd logs la spre local a servi la spre a fi patimă thru un stare generator ( asemănător awstats sau webalizer) ?
Identitate’ recommend folosire rsync pentru that tip de thing… unul trec.de la will a asigura art.hot. logs ești always înăuntru un stare sincer.
rsync unuser@server.com:/patetic/ la spre/ spate/* local/ pliant/
/
Art.hot. un means la spre folos art.hot. arc nuia a întrerupe, care voință a voi tag art.hot. items as archived o dată ei’ been ele.