Het is meer voor wat complexere scripts zou ik zeggen, er is ook [Linux/Unix] [/Gurus/helpen/newbies]$ ./deel 26 , maar goed, ik wil je wel helpen hoor als je hier je vraag stelt. Die andere topic gaat altijd over Gnome en KDE en zo.quote:Op donderdag 10 september 2009 21:19 schreef ReWout het volgende:
Is dit ook 't topic om te leren hoe je files verplaatst van map x naar map y en programma's opent via shell enzo?
1 |
1 2 3 4 5 6 7 8 9 | # Ziet er ongveer zo uit: # BOOT_IMAGE=/boot/vmlinuz-2.6.32-trunk-686 root=UUID=fcdc06c1-729c-4991-817d-e7f94ce69dc6 ro quiet # De oplossing in perl: cmd_line=$(echo $cmd_line | perl -p -e 's#BOOT_IMAGE=\S+##') # De beetje brakke oplossing met sed.. cmd_line=$(echo $cmd_line | sed -e 's#BOOT_IMAGE=.\+ root=#root=#' |
1 2 3 | # of mooier en meer lijkend op het perl ding: sed -e 's#BOOT_IMAGE=[^[:space:]]\+ ##' |
1 2 3 | commando $i $i.out done; |
1 2 3 | touch "$i" done; |
1 2 3 | convert "$i" -resize 20% th_"$i".jpg done; |
1 2 3 | echo convert "$i" -resize 20% th_"$i".jpg done; |
1 |
Oh ja. Foutje. Foutje van FOK! zelfs, er staat wel *; in de source, maar dat verdwijnt in een code omgeving.quote:Op maandag 1 maart 2010 20:35 schreef SinofEnvy het volgende:
Super, thanks! Ik neem aan dat in je eerste voorbeeld je for i in * bedoelt? Er staat namelijk for i in alleen.
Wat ook kan, want meestal blijft de terminal onderaan staan, is het rooster printen, en dan even wachten, en de volgende iteratie printen (moet het rooster wel telkens even groot zijn).quote:Op donderdag 4 maart 2010 00:30 schreef -Mzraki- het volgende:
Ja, iedere keer na een print het scherm clearen zou idd een idee zijn, maar hoe dat met die library te doen zie ik zo snel niet. Ik vraag het morgen wel even bij college, bedankt voor je antwoord in ieder geval!
1 2 3 4 5 6 7 8 9 10 | int main(void) { ... while(!done) { print_rooster(); sleep(1); //1 seconde //of b.v.: usleep(500000); // 500000 microseconden } |
Zelfs als je een getal terugkrijgt: wat wil je dat je ftp-client daarmee doet?quote:Op zaterdag 18 december 2010 21:38 schreef Dale. het volgende:
Vraagje
Iemand enig idee hoe ik via shell het aantal bestanden tel wat zich in een ftp map bevindt (ben dus met ftp verbonden)?
Bestanden hernoemen, ssh toegang heb ik geloof ik wel (weet alleen niet hoe ik dat opzet, even uitzoeken)quote:Op zaterdag 18 december 2010 21:44 schreef RemcoDelft het volgende:
[..]
Zelfs als je een getal terugkrijgt: wat wil je dat je ftp-client daarmee doet?
Heb je geen ssh-toegang, dat maakt het eenvoudiger.
1 | rename -n 's/(Bestand)(\d+)/$1Wii$2/' Bestand*.jpg |
Tyquote:Op zondag 19 december 2010 03:37 schreef slacker_nl het volgende:
[ code verwijderd ]
Als je tevreden bent, -n weghalen en done
Je kan het ook met een for-loop doen, maar rename commando is handy
Google even op lftp (mirror)quote:Op zondag 19 december 2010 14:27 schreef Dale. het volgende:
[..]
Ty
Ander vraagje hoe upload ik een hele directoy naar ftp? Kan alleen bestanden verplaatsen maar geen dirs..?
Tyquote:
1 | rename -n 's/(Bestand)(\d+)/$1Wii$2/' Bestand*.jpg |
Het is gewoon een perl regexp ja, die -n is dat ie laat zien wat ie zou doen, zonder het daadwerkelijk te doen.quote:Op zondag 19 december 2010 14:56 schreef Dale. het volgende:
[..]
Tyvraagje aan Slacker nog
[ code verwijderd ]
Kun je de regel uitleggen? Waarvoor staat die -n s/ $1 en $2 enzo?
Weet dat -n flag is (weet niet echter wat die doet
\d+ is decimaal of meer
* is wildcard.
Oh wacht gewoon regex toch?
Mijn persoonlijke voorkeur is tegenwoordig scp (ssh-toegang vereist):quote:Op zondag 19 december 2010 14:27 schreef Dale. het volgende:
[..]
Ander vraagje hoe upload ik een hele directoy naar ftp? Kan alleen bestanden verplaatsen maar geen dirs..?
Hmmm die -n flag doet het volgens mij niet bij mequote:Op zondag 19 december 2010 15:33 schreef slacker_nl het volgende:
[..]
Het is gewoon een perl regexp ja, die -n is dat ie laat zien wat ie zou doen, zonder het daadwerkelijk te doen.
1 2 3 4 | -rw-r--r-- 1 admin administrators 5693125 Dec 19 16:36 Morningwood - Nth Degree.mp3 226 Transfer complete ftp> rename -n "Morningwood - Nth Degree.mp3" "test.mp3" 550 -n: No such file or directory |
ok en hoe krijg ik dat? Vind alleen maar lange manualsquote:Op zondag 19 december 2010 17:40 schreef slacker_nl het volgende:
dat werkt niet met ftp nee, ssh toegang is wel een vereiste
Als je server ssh draait, dan vanuit windows met putty of vanuit linux gewoon vanuit de terminal:quote:Op zondag 19 december 2010 18:58 schreef Dale. het volgende:
[..]
ok en hoe krijg ik dat? Vind alleen maar lange manualswaar ik niet veel zin heb om die helemaal door te lezen.
Ah thanks dat is eenvoudig.quote:Op zondag 19 december 2010 19:18 schreef Joooo-pi het volgende:
[..]
Als je server ssh draait, dan vanuit windows met putty of vanuit linux gewoon vanuit de terminal:
$ ssh inlognaam@ip-van-server
Vraagje... hoe verplaats ikquote:Op zondag 19 december 2010 15:33 schreef slacker_nl het volgende:
[..]
Het is gewoon een perl regexp ja, die -n is dat ie laat zien wat ie zou doen, zonder het daadwerkelijk te doen.
mkdir "Home Alone" ; mv "Home Alone.mkv.part01.rar" "Home Alone/Home Alone.mkv.part01.rar"quote:Op maandag 27 december 2010 22:46 schreef Dale. het volgende:
[..]
Vraagje... hoe verplaats ik
"Home Alone.mkv.part01.rar"
naar
"Home Alone/Home Alone.mkv.part01.rar"
ps. wanneer ik met ssh ingelogd ben bestaat de commando rename trouwens niet eens... en mv kent de optie -n niet.
ah ja sorry maar bedoel natuurlijk alle parts iets van 50 ofzoquote:Op maandag 27 december 2010 23:10 schreef slacker_nl het volgende:
[..]
mkdir "Home Alone" ; mv "Home Alone.mkv.part01.rar" "Home Alone/Home Alone.mkv.part01.rar"
Kan te maken hebben met je PATH, maar zou ook kunnen zijn dat het niet installed is.
mv Home\ Alone.mkv.part*.rar Home\ Alone/quote:Op maandag 27 december 2010 23:22 schreef Dale. het volgende:
[..]
ah ja sorry maar bedoel natuurlijk alle parts iets van 50 ofzodus dat hij alle .rar's verplaatst, niet enkel 01.
Hmmmm ik heb nu via ssh admin@<ip> ssh geopend alleen wanneer ik de commando rename uitvoer zegt die dat hij die niet kent...quote:Op zondag 19 december 2010 17:40 schreef slacker_nl het volgende:
dat werkt niet met ftp nee, ssh toegang is wel een vereiste
Rename commando bestaat ook niet voor Linux. Normaliter doe je het met het 'mv' commando (move)quote:Op woensdag 12 januari 2011 13:44 schreef Dale. het volgende:
[..]
Hmmmm ik heb nu via ssh admin@<ip> ssh geopend alleen wanneer ik de commando rename uitvoer zegt die dat hij die niet kent...
pssstquote:Op woensdag 12 januari 2011 14:07 schreef Blinker het volgende:
[..]
Rename commando bestaat ook niet voor Linux. Normaliter doe je het met het 'mv' commando (move)
Voorbeeld:
blinker@ubuntu:~$ mv test test2
Zo hernoemt hij het bestand test naar test2.
Kijk hier voor meer linux commands: http://ss64.com/bash/
dan doe je echo "mv stuff daar" en dan zie je wat je zou doenquote:Op woensdag 12 januari 2011 21:22 schreef Dale. het volgende:
Ja maar rename doet het nog steeds niet op ssh en bij ssh kent mv de optie -v niet waardoor ik niet eerst de output te zien krijg?
Ik kwam diverse (denk aan Apple) TimeMachine-achtige oplossingen tegen die allemaal niet doen wat ik precies wil. Nu heb ik er zelf maar eentje gemaakt: een simpel scriptje dat ik handmatig opstart. Het doet dit:quote:Op donderdag 29 september 2011 22:19 schreef PiRANiA het volgende:
Hebben mensen nog interessante scriptjes?.
1 2 3 4 5 6 | #!/bin/bash backupdir=/andereharddisk/TimeMachineBackup/`date +%Y_%m_%d_%a_%H:%Mh` mkdir -p $backupdir; cd $backupdir/.. oudebackupdir=`ls -rt | tail -n 2 | head -n 1` cp -a /home/userdir/data $backupdir fdupes -rL $oudebackupdir/data $backupdir/data |
1 | VBoxManage startvm "vm" --type headless |
1 | ~/run_replication.sh |
1 | ./run_server.sh |
1 | sudo shutdown now |
Het commando van die Vbox is zoals ik het zelf in de commandline ingeef om hem op te starten dus ik weet dat dat werkt maar om een of andere reden als ik die regel in een cronjob of in rc.local zet dan gebeurd er niks.quote:Op dinsdag 8 mei 2012 11:28 schreef slacker_nl het volgende:
Dus die run_replication and run_server moeten 1x per uur binnen de vbox instance gedraaid worden en de shutdown moet 1x per dag gedaan worden?
Dat is allemaal via een cronjob te regelen: man crontab
Dat andere, je moet even kijken of vboxmanage ook een status optie heeft, dan kan je dat relatief makkelijk scripten.
Ik zou er gewoon een soort van init script van maken, met start, stop, restart, status functies, dan kan je het zo leuk maken als je zelf wilt.
1 | 0 0 * * * /usr/bin/aptitude update &>/dev/null |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ sudo crontab -l [snip] */5 * * * * /usr/local/bin/vnstat_all $ cat /usr/local/bin/vnstat_all #!/usr/bin/env bash PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin vnstat=/usr/bin/vnstat [ ! -x $vnstat ] && echo "Unable to run $vnstat" >&2 && exit 1 for int in $(ifconfig | grep "^[^ ]" | awk '{print $1}') ; do $vnstat --force -u -i $int done |
Sorry ik probeer zo snel mogelijk alles onder de knie te krijgen maar ik ben nogsteeds een groentje hiermeequote:Op dinsdag 8 mei 2012 11:35 schreef slacker_nl het volgende:
Je moet het volledige path gebruiken.
Bijvoorbeeld als je aptitude update vanuit de cron gaat draaien krijg je dit:
[ code verwijderd ]
Als je zelf een script schrijft moet je zorgen dat je PATH in je script gedefinieerd is.
[ code verwijderd ]
En uiteraard ook je script chmodden
1 | /usr/lib/virtualbox/VBoxManage startvm "vm" --type headless |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /usr/local/bin/./lamppstart.sh /usr/lib/virtualbox/VBoxManage startvm "vm" --type headless exit 0 |
Waarom doet ie het niet? Haal het uit rc.local en maak er een apart iets van, dan kan je dat aparte ding in rc3.d zetten en ook nog los gebruiken op de commandline, aka /etc/init.d/vboxheadless start|status etc.quote:Op dinsdag 8 mei 2012 11:41 schreef Black_Ninja het volgende:
[..]
Sorry ik probeer zo snel mogelijk alles onder de knie te krijgen maar ik ben nogsteeds een groentje hiermee
[ code verwijderd ]
Zou dat voldoende moeten zijn in rc.local?
[ code verwijderd ]
Want dit doet hij dus niet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $ cat /etc/bind/tools/bind.sh #!/usr/bin/env bash start() { /etc/init.d/bind9 start } stop() { pkill -f /usr/sbin/named } status() { pgrep -lf /usr/sbin/named } restart() { stop sleep 2 start } case $1 in start|stop|restart|status) $1;; *) echo "Usage: $(basename $0) <start|stop|restart|status>";; esac |
Ja dat begrijp ik dus ook niet waar hij het niet doetquote:Op dinsdag 8 mei 2012 11:44 schreef slacker_nl het volgende:
[..]
Waarom doet ie het niet? Haal het uit rc.local en maak er een apart iets van, dan kan je dat aparte ding in rc3.d zetten en ook nog los gebruiken op de commandline, aka /etc/init.d/vboxheadless start|status etc.
Dit is zeg maar iets wat ik voor bind heb getikt, zoiets moet jij ook gaan doen:
[ code verwijderd ]
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |