From 9c458c0e68cb5478eb222f77d7d07bd1b7c33781 Mon Sep 17 00:00:00 2001 From: Dmitri Popov Date: Mon, 11 Feb 2019 20:37:39 +0100 Subject: [PATCH] Various fixes and improvements --- README.md | 6 ++--- img/rc.png | Bin 43245 -> 18378 bytes install-little-backup-box.sh | 44 ++++++++++++++++++++++------------- scripts/index.php | 6 ++--- scripts/php.sh | 24 ------------------- 5 files changed, 33 insertions(+), 47 deletions(-) delete mode 100644 scripts/php.sh diff --git a/README.md b/README.md index afdb448..477e5c5 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,11 @@ The exact steps depend on the backup mode. ### Remote control mode -1. Point the browser to *http://[IP-ADDRESS]:8080* (replace *[IP-ADDRESS]* with the actual IP address of the Raspberry Pi) -2. Start the desired backup mode by pressing the appropriate button. +1. Point the browser to *http://127.0.0.1:8000* (replace *127.0.0.1* with the actual IP address of the Raspberry Pi). +2. Start the desired action by pressing the appropriate button. -The remote control mode gives you access to the **Device backup** action that backs up the */home/pi/BACKUP* folder on the Raspberry Pi to an external storage device. This can be useful when you transfer files in the camera backup mode, and later want to back up the transferred files to a external storage device. - ## Problems? Please report bugs and issues in the [Issues](https://github.com/dmpop/little-backup-box/issues) section. diff --git a/img/rc.png b/img/rc.png index f07794de654d2664f49e894c7b5f68e958bd0ac9..75c90a967481068f7ba0ea7d8e4fba6496a51cc1 100644 GIT binary patch literal 18378 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%0A_`^2)`7+SgDr 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

9Rc4)w+x)lqB=9onpBSZZ zV}TxP1ZlAgvRX!r8jCh*)#;tKil>w76+;7kUo=-)m^MmIx_>vAEb{Y=(^%L%kZM@~ z#S!3~yoWBpfJj{>0m_=J|D6019=UzHT?jN7DT*cgm=J2y3`2n2s+48A9PW$j!SeO0 zOF)gk`9qs*`|-j+@Xg=|{JuVf!e;?%1ov7-+dHF1Ig7M-CJgcz6 zqx+%=v*KSwB&33X(ti6AD9#G>Mms^fF${2~x1-JX;JH-iK=tMax?HX>0zV0~6mA}m zZ9PMQx~)B-EXwi(PXTxbr+JL&(COe}RE3}eOMgY-Q%o#Lkzr)bewirR$Jvlge|W4#Egq2YUuKQqz4K2G#-$080%00^7aMsch!gI&`UVvfAzgdm#A;hpLRbVcZ zFyWKXIVk4p)jen)pu7L@cPOZsZx-2_^$*lZ+l+dyk%U+EcG4Ft!L)~(w%HqVKHfY<~S zE2)6SxV;6!=lyRTaKbyNUmgCY7W}|;DMF|hn2Ha|sXk|OcN1qb4K)S1C*@b>??UQL z`IP~|moyIy+F1y*JcHu{R7e_E8TFSb-yZU@j*J@O|G~&YM!RN zLXQrRzi|3vePM~c6vu89JKSii$ytz8PoaBRP45JL!2;JefJl>y9SYa?uU zs2~sUh3^@X<_*QwNO0l7`Nq-o)|{&i&@(a@>nQ(qSxNANe}yYMoq5YH@qAh>mU`B8mJWf`+0vhCrLQ*}h(Tfz!nP*>Oa zAuNkDX{O#8Ue$%V_H18QTQclxaDWLIXWJ9aDWgXw9DJ~U*(B`8bKadS4&O-Hy>%SM zNc8o_-6Rr(RcPXSUfGE7E>S{B&E`3L^d-zSzR7Y7X|8s1`d}@A2P_AsiVTM5_R=iH ztlAj{1~*w7gPRI|tmBg5U7sNl11^*z1orFJXu*_339;WJ5{;C}BBH?VtAcm4lU{4y zH?H(VE_UFL5KJ7$}?;x@UUq@LrEmuyxuhCw>G&sTCh$h5gGoT+6zC zTsWvpT+>V$r=&wm1nTqYTX znWp-=<5Rj1LtUPfl+WmSY-d`WI3Cz3 zW&Rgnl4_Vq78=*(>dWh#@ZfId1uu=^S>?DQ+pc1o12T^+(UZltSpFs4<({_WrkD5D z_E;BdugHL@g$n0>Wkq@{^~`~yxf8Hgu$|jHb9cZ?X4OVA=5IB$xG+qEt!%c!w;2XD zSM{L%*!R>F1qfkd=*}grAFpgL^yNk~Z~^S%2kJ{4Z)#~8Q>KW&?fA<7PLbv#{td#u zd^35}zLvTde<)@LE_SX^;u5KJ?yy7Puq@5B@? zmnLx@46}rx;zRBu4;wDd>dp&oFtJzj3w17Uf}c zXMM)KPh#U@^myeLc{OmDMKwk((aX2Dw;N@_(f#A$=MaXP3%4KMd;P!F_HyBCR{l%E V#_^O1{Ei+-QBFlR_o1QR{{TOA5jy|? literal 43245 zcmdqJ1yq%7xF)RkXBMax?4d(T1n~d?hZjgy1P`myGy!3x;Ncy8aB1zf41M8 zGv}O{^UqrI&-}C2ylc5O^*-+tcU<>%-LC;3WyCNZ55caD4xmfB$%J&TX%DBbC6yGu3X$fjh>q_x-!SmxO-KCffJE*EQ}d{(!$< zO}$+b|NGl^%!jh%e=o<6&N$e}tJJqO>Yu+Sd7Apq7`s0XD9OnuDJNOdZ32S|Hx0q> zKl5z9tR*M6Ewo|I{KQj0yZ(n-zr9n@-VWRX2?5XP=IEwn#6*`T3_U!2HvbfiO#h7r z8@qP>xtv`0=@II07Eh9JF2c2EPxU>Rz(AEeO7?f&y<2VWXo>baZn(e~jg#Vzm->u) zhsED7a=aRA{SPyw|L0F|yLDg?1x*9P9^z7q+mV!K$%6iz4teJX{QCX- zwUJ57eK5;qVkr{^LP69G7rUPA*|_p_v8bIjjhti_8zM#)7Ve=W^xp|RQ8q!Loy3HG zzO*51Q8X*q1mdcRJ+8qosR*)bsGj5EvSegH!f{DuWSogYJ_daMP&*<3cH6eY<(*?2 zEn{r()aOB|&=#;u#Xnx`c!I40D_YWKwK24POi)@HFCvo5?tV8MKdS#b zdrVuaH3=J`hy-i+qt#`8D@JgSMhE>M3(1(d0FR7he75iDfJi<`}>WVOLooYxnE@HwmfVutSTPQqQOq~j#dbO zP0&@>rIt52w`ScKq~aql>+d4Mt=9P<-U1#Vsr_WbukpKEv*)U-i{68R_v>@D+?~Z; z;gLRi?)+ffon>5bFoDU0ufU3Hk(RU?$V_e7R&Jp-h(Xj@tJ4p{5Z}bq7I4S@6q4CNAvwPBXa)PDyqqR zR)SKS2@BE)Y<;nJ)`E0|km}7>k7;QqSn zWY^{wL4vJAqGS87rpvkU3>%vkt8N1rP;ZL7`s>bii;UuOj~^CAadD?j)ZLHXOk-nD zz+L*{MI7Hz)@nkN6NsbsKU=Zt>J_5UQE=i({($|$C5@Ob7`*@<(3>O*R-7@nCSBUM zHdmqpjIWfh|G8Xb&*>4}p=M?f#mB`r>vKaTchQ!fH)Fy*5v6x0>X-*);k>|3E=Ie7 z3r5p}Lk8x__iBPeAhaeI9;CRP*t_9;SnWxaxO8R=vs*+Tp~e4{8FaNoEA34JZ%0K22Dw4vm6e_cSm?ir2@T8N)gCw0a$t3OJrdhB-yWT+t|QE_RNArh1K8B#_&iVxKMIfAUOr+zF>Z@j&vXU3>7)KE)(+j zXqCaj3YU6VJX0Ka4jbTy$YHy`hg23dp<7!{G0RxhKlOb5rP3TP#=BvdR&SXT93~jt z;iWfKM3W^+>~B@VFF3&1g&&E22ad&(K`GDkIv9AAZR_kZHo+Gv=0Aqx4M&U5p5FJS z<+%qLs#*dLS$Y>OV!WEENKZ8G+?^I1JEHGr1adZ9_}L3V)Rcr634=AoH*>9gsX%3IQ`vxOJK;HOIze1Fr->ob!M-is z@ZQs-<=xHd;}B*IIg@kd1|J`8F7xMp(fY~Dx`kh)fkE)of`I&?mR68I0Ym_K<0XHe zmoy$4{3;$-D4)rkABFF%Nh>XQz87rkAtp5S_*}%pUh(k_E|>|EDzh*!=MXXdyF5!v zz{wV;s~ECYSLu)b%rww?X9+L$IrJMRZwyq|l1YFkH5jiVT}b-oJ>lywUpmmTeXu$h z&egMg;9}3zkNEeeWxpvO^gY00a%_13_P<#Y8M1p*c-VtSXK{k&Hh2vy27Wz>@x!WS zyo;jl{Kq0*n%j1Na)>(KpuN-9@x<8dq5%o(5ngdVaDJZ7;#<1YEFS=YHUu*|vzWUk$8Z&lM~uDagqq)As&O8)PWp z7~yPDdgfJcHGkASH*fGk1z8f0CvX*nVi%}8@Sdlxq4J&=aa{24yM8WXvJW5zITj1|u%M$N8P8YFp$>s(a}2su5i( zsJ_hpe$#j9L3T^t&`@>R-`!*ZG28dJ!Ns}CLNary4e2Bab{n+Z0IMke{OiU40EBRf zHZgT)tswQ{hAn3h4tlJTEXn&u7Il@7~?)R4CMfHRrQM9g8MI2F2b#tG(0!@fT@asgw4WQ`X4z zUIc#9j;XT$t*$28#l|7<`*(E{RSRG{z4IL%Bp`A9&cx0Q0xtCp@2hpNmeDbkm@p8W zW%7YFz%r8RF5pjBO_3Nbg1$36GMI%0TTho9lRAn+YRw1}qf!P2oUZxc_FEbp7`)u@ ze}#7UDE=+T16WWO9T}mK7vKLUy!gLnsDGUNf`%nQs)6TH!*TC2Wukhn{dkD~TU3;M zZ5oYd8=7dS>*%Ft$4Cb^VaS?is#jS|{si;od@1DlV>Bg(pu$BwaKz0i!1k_<1o&SC z`u6ld?xIf`sP>CxlCoLd2yK-l4h|01)GGc`Dug6{{c62I0?Q?NY9FI^zMpl2k6n9a zGL!oK13`w7{#27tie^r~{1C>9mv4Fkr=DZ!={pRUz*~$^!@cXFzWM;=cS=flCMMK4 zxYcZ4EyAQO?1{OfMv+NLYQxf3vLA1QzN-_lA5oIap}|iZ{L{EBDH#UdebiG1S$ z3F@|&mt%NimV5jDU6C|0-57k#c6@Ryn9>oEF81L5{a5y6BT$bk$wEE&UZZlJ%Nq5I z7v8i{)KlhsUV=eWHB?fGtmAdCJ}bPfuB&H1kPGJgXTh~~b#i>Ka=PykpY6>nZy&my zsb4MSzG7qqHOi1ih3Rx_9c*(rJ(^fnk}GBcNUcl#YUOsz*l7;5vyxZLv;N@F#MtG{9i_Ny^>^z;PiF!76B&Cbk> zIc+Nt4$BG-45y2sI6E)iIoWsfa?wf!6`3^1wi(3ck~4!%h${KBenU3H^4j(l+kQja zqnI8RwOw8hueoKps9~n2kj$DzwU^{-CzChCFm*!bDotly|klN@r zUGBuBd1nG*AGFz9cYaD~J|pbt$cZbM*pI=G_-T4{)b%F)2R)H%kJlb7d-iS--KJ-M}KP$lk~aX5SfW&5E? za41~b*Qr(1-rk_SzP>IxTJq7>&Q4rv=B=S2G%$GKwkDLw()jJ zk8ALN(Gxs83B;l{D;ry3P)f3ZTkItC`GA`qG(%-H3&IcYm*+n+W(T1qUWz(PCaK46 z=<&V9$*%(iD#v#qMU0G(-Ii2>UH9U@U!xbz+dygOE) zl4Z9$Tb(w`=g45278QjHvo!0wB_;gc+?+PhRA1+$cl$-3*c;loSLuQ`TtQGCe|v!s zX=haFye0Mgb9v{w%VEdDXB2n%6DJ~4kF(r%+;n>)S7Y0*^b9sD+ut=>uutZBfTGH7 zWjW~(H!jUpsoVZ&XvszAD>cJF`wDQXrAPU+o`-9banDj2t8XVeimM;U3<6Thwo|v3H zE2XS2FK25@_430{^UC@oqF(>rzO-quzkji~&A)IzjE!|Ej( zhJ^X-bh(iWqL4-3V2xpG{xUXc%kDNNLDP`=xwFS=-^AkGMHuXTb5mpCev~|>%}MvL zt$>v{f-G*o{!_DNqj1YWTU*p-7n+8tmhHm;alV56ddIzXut#N0x7w}m@LpfH5~8WG zTXkv(koUn<0roLL=By(uUCyNGTD!PYMAxX{(P2db6{+3s`5|jsw!|~5y7!ud7u}Vs zy1X8Vg=$_DYk$a)aZihr`VVl%$F8d{`F2i9UD6^VOgvI5JhD$6@?*K8Ya1Z};}-`1@UVsk_5E{C z%16?^cY8$ujMFXjp(P@e#j3d_B#uYUj)$0-cynRHb0^HnJEWQVbDKOe{LyqgskY~- z#c%zjqOq=XZ@YVKC6~>`sXs|szxE*V^Xn>l>e!9ehnc5do{WQx->RO;oBd=^^PE*O zp6wks+jJSySgX?g37!>!EG;h3ZJeCi=I7@xJ@=bN$a>YF{QPqks67F=G=;@lZf5MI zlCcpynqB}_pnZivNN6tpDhS;1!g6v-GS~_um1H<_4(iZ7PPn+7k;$Gr7#*63 zIR)9n+NQ@XbnMF=bd{14YjB9yaY!6{-NtSKYTHKFQ}{Pg-l7VP=KU(3jSi~cPW#hs zei$x8c(#s?hP@dN9uxmbEBQlxesQt9t$KZ&B`i#+re$?qdBFB-7o?mwI}==Xw;piS z>VZppOul0Q{0F}ow0?7^Xr9qJWKP%EM4eWqr&C}MjxkMM2JLuxe@yb6d-th|iduEw z3H83&Nc$x(1x3msF15-695x!%)X2o(&0@6YE{Cb%`lJFJVhA|I4?KCR%cdR{teMX= zI!{Ml1X4={^HvsmB8Eh$Kzu&wfQ=L7ppbEuEp?D?PH z=ruRO+AK)}4IGywtZYM{;pppbv9Ue+bWe+LqN>!=G8J%wI^;HWexpZ4shp2bPQXF< z4a(0qYY|~m6Gvb@!5*HzbOl%^_O+U&{F%KgZ&a4LYG_rl-SCnp+&GkE|z{g3h zoFM^$y3zW{#<7MXv~VtlW5gku=2^59DCT*k)$y=j?$`2?@ZvY$wVNCyaaqr$ku0Qn zu{d%Zjl*fNG{CYSnGn&kHM%8ruKijxJ;FN?)FsDF3tJ!j+L?3Y$1TKv1DHAT@6D* zOlR(}+4){48=DFAA(;eT-^!hd(HtF-!4$r(%QR1NnDC#+5A)v7a#{oy_6-k5V7H|j zS)W8D^Erh!W0L8#X7o(>-{UeP3`|R7>I&QV_7$6{xmQD=ZV3jH)|JCqxGkC3vu3_t zi>PS$$y4d;!<`V@>31rmBIZD+nAhHhg;|oH>cg0Qi_)rAy&junwVa*ig`&M%gQZeu z&*R{`W4qq3;)&pB;hkAGW@kMK=qen2&P8pm3$W)KsD~;zkEiLw--nI$yH`Fv_A;Ri zhg&ap*hp@Xs+`#6fCxB%jDw7?OfHi;bQi+5ic4*H4t_aZhsXgr0zafbm=ncJuX-S?7L%VDMmKmf!#u zGP{%3R+POx%Lz9G4;XWTsxdIhlUQ`oh+30=bIVb8pJe*UJ}*AcNr?oc~%8xja$#*DrNRO z0EQ2Nh}zxTn-y5ig+Zh#8z(~o+av3CTigjHssCK1O9iqS7L5#fhK-1+LUD_9q3Th~ z)&9|zk==CZu~S)DS&r&>+QCHOmd8RPv9v(1m0I=m9FanJi?;Um>Vy7Nwm2oOvinlcVi1bw}htD7c7Jjj+Cpa7_BtG&ZQc7U(}*T2!#{z?geS!u^ambS?2KNZ&g*AOLtHM;+shx&&J zD($M+VoPW~=p%=pZjDF1y>&aMtKN*n5={P}JA!E_6ZDdX#{cank^4C+QCy;pa@(aI zXpb|bchsKaaGcXsoGk44SDL9b*>a>WIEQ##VKHx(b`c1jk+il7)7P0ey6Ic9qhk_R zOoK34rn|K)Y%r7}G=wXXX0ULB;KwHEn0IoZS1{bMYCh~gZVM973R)j{el<7?X=l*r zoLqRl{D;hISw8b&b#-$H`X#($e7v%qlLpkB=5shz`%?iu`mOWxDVL|dTT?&pIL$#Z zL4ok&AWcgw9a~FC%d+-@n$-1&P-jqBsq}EL zD21pm+F5Zdad`ruiP)~c8KH2yuD*hBn2zOi8^-ip9IIqx5VsCZ#_>A%K&*d%LBrU_ zSGn=UqA9bwy}{WjP%5P3sx%Ftn$#^v0GlTULhGA>9Y}n&_RCSD!A=0oXXYnj8{OdL zpg7%ymdC+68w@bs+>?%f+EyKeH<}@SztQcqeQ3x(I9RIcrYgj#Gjv5^hIX$WPMV~r zD@YhNY`i*Gd%Sz;!Nq3e)eD%U1m-<~`b)q+`~nqWw~)k#s3*iBogksx;|RaTMpjHI8}$!6f7H0Y#3dXVbGe)+?BhHKcr6s=B-A@#bW9d)b0}eLV2c zKMgAKRpyAoDO--bN$nH0;#u?Z்gA!Dycu%aN0x0gcI(R^kgtYy%8xIkfjy(~ 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

y6R@Gyw5%O7`Cu~nu z^|I>|NfVY^TN`9IgScNrKnrh-u1kvm5PyW!$V~;Qii3LsnF`ko-syiVz;Qr4*9oXT zWfvYGetzBBAbcOcuihImWMq`R-gh}!UegMzWbTj*lhILk-K=>~xi6ga7rkkXDN&oa zGT)Dok|I~5r`pupCA;6&h31Y$Q!1JlISR;W6?>;CT%=LH(!jOcFcdMxfpcJVW4qH=dnCu)XECa zP>NY)D&}TtYtSzNEdyI=6(v{e{cekTB70I4}h!-tz5*E9r0lPT`T&u1?B` zRS4}Nfi+A{t@X@UX;Q$1B#U?B<5$+^WY$f0L5xA!T1aZ1$o)MX4Pk+pAtji-7)75b zt>sose;~~6I`hSlo1q1Z5YAon=i_;uM$2t>fjtw-NlQvC&>D+gdUMWY;yh#igIsh#M(TOLY##xLWf)(Q?*14r zM{K3&F;2(Xn`1%7Bx;?7e@TcNn#<5K%U6^Ixd)y!@?oU!SqD}lsS|AOj=%u50+dF~ z>cZ7x`ea+YR*aOWg~bNc1Mjys-wAdWx$H`kw_FDf>OqT#o>=_8TpAS-F)bnHLT3Rr zN7ub&*|a@#X3psSJs~m;Y&!nS#76eu&5S#IrH(`LR{1~x;deG*`lDo(<_Y7y4@GGi zOU)?eb0gAaGh|rATkk!mdE3Lx4iTl^Zv1t(!sTKE-J;-{M=y9&r zrJ-w8J)?I8XI`Ib4C;BfpFUb&MJ{tt0kT{Mfq*r8WgpPnt|V`LcbzacF{6^_iL@^$ zG?H{zkaQVgMdEG4c)U$|&+F$L(W8V_Eev~6X_=8*RTp&oXcS8)duI_^sHC7QuZ?^e zD>}bQLwjIqyy(3}iKmlORu)yGco8<2&oxBUsV@w;(7*OQk-~?+Ivgl)r!%g7?)!r$ zTTsC}lNGuJo@R~v$9o?AY2m|%jfeU08e|9jcciL+A;ddBWA=&o{d**bF_L%p-_d9- zyEXO)Y?aZ!1gRCA09p7e^8<)uiEt*LW@UX$UN!~YZq8B{G?1G1g~5-tj$D8!. +echo "----------------------" +echo "Updating the system..." +echo "----------------------" + sudo apt update sudo apt dist-upgrade -y sudo apt update -sudo apt install acl git-core screen rsync exfat-fuse exfat-utils ntfs-3g gphoto2 libimage-exiftool-perl dialog php7.1 minidlna -y + +echo "-----------------------------------" +echo "Installing the required packages..." +echo "-----------------------------------" + +sudo apt install acl git-core screen rsync exfat-fuse exfat-utils ntfs-3g gphoto2 libimage-exiftool-perl dialog php minidlna -y + +echo "Enter user name (e.g., pi) and press [ENTER]:" +read USERNAME + +if [ -z "$USERNAME" ]; then + USERNAME="pi" + fi echo "------------------------------------" echo "Creating the required directories..." @@ -24,13 +40,9 @@ echo "------------------------------------" sudo mkdir /media/card sudo mkdir /media/storage -sudo chown -R $USER:users /media/storage +sudo chown -R $USERNAME:users /media/storage sudo chmod -R 775 /media/storage -sudo setfacl -Rdm g:$USER:rw /media/storage - -echo "-----------------------" -echo "Configuring minidlna..." -echo "-----------------------" +sudo setfacl -Rdm g:$USERNAME:rw /media/storage sudo sed -i 's|'media_dir=/var/lib/minidlna'|'media_dir=/media/storage'|' /etc/minidlna.conf sudo service minidlna start @@ -64,19 +76,19 @@ CHOICE=$(dialog --clear \ clear case $CHOICE in 1) - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/card-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/camera-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "@reboot sudo /home/"$USER"/little-backup-box/scripts/php.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/card-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/camera-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "@reboot cd /home/"$USERNAME"/little-backup-box/scripts && sudo php -S 0.0.0.0:8000"; } | crontab ;; 2) - crontab -l | { cat; echo "@reboot sudo /home/"$USER"/little-backup-box/scripts/card-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/camera-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/php.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/card-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/camera-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot cd /home/"$USERNAME"/little-backup-box/scripts && sudo php -S 0.0.0.0:8000"; } | crontab ;; 3) - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/card-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "@reboot sudo /home/"$USER"/little-backup-box/scripts/camera-backup.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab - crontab -l | { cat; echo "#@reboot sudo /home/"$USER"/little-backup-box/scripts/php.sh >> /home/"$USER"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/card-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "@reboot sudo /home/"$USERNAME"/little-backup-box/scripts/camera-backup.sh >> /home/"$USERNAME"/little-backup-box.log 2>&1"; } | crontab + crontab -l | { cat; echo "#@reboot cd /home/"$USERNAME"/little-backup-box/scripts && sudo php -S 0.0.0.0:8000"; } | crontab ;; esac diff --git a/scripts/index.php b/scripts/index.php index 8f2abf6..1535757 100644 --- a/scripts/index.php +++ b/scripts/index.php @@ -47,14 +47,14 @@ &1 & echo $!'); } if (isset($_POST['camerabackup'])) { - shell_exec('sudo ./camera-backup.sh'); + shell_exec('sudo ./camera-backup.sh 2>&1 & echo $!'); } if (isset($_POST['shutdown'])) { - shell_exec('sudo shutdown -h now'); + shell_exec('sudo shutdown -h now 2>&1 & echo $!'); } ?> diff --git a/scripts/php.sh b/scripts/php.sh deleted file mode 100644 index bef2593..0000000 --- a/scripts/php.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -#!/usr/bin/env bash - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -while : -do - if [[ ! $(pgrep php) ]]; then - cd /home/$USER/little-backup-box/script/ - php -S localhost:8000 - fi -done