abonnement Unibet Coolblue Bitvavo
pi_72625469
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?
  donderdag 10 september 2009 @ 21:23:37 #52
147503 Iblis
aequat omnis cinis
pi_72625623
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?
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.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_76977573
hoe laat je kleuren zien in de shell dan ?
  maandag 18 januari 2010 @ 19:24:18 #54
147503 Iblis
aequat omnis cinis
pi_76979041
Zoek op bash colors. Je hebt b.v. hier een overzicht: http://wiki.archlinux.org/index.php/Color_Bash_Prompt

Je krijgt rode tekst door zoiets in te typen:

1$ echo -e '\e[0;31m' hoi


Let wel op, daarna blijft alles rood.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  dinsdag 2 februari 2010 @ 15:29:20 #55
187069 slacker_nl
Sicko pur sang
pi_77553256
Denk dat iblis deze gaat beantwoorden

1
2
3
4
5
6
7
8
9
cmd_line=$(cat /proc/cmdline)
# 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=#'


Hoe krijg ik net zo'n mooie oplossing met sed als ik heb in perl?

While I was typing:

1
2
3
sed -e 's#BOOT_IMAGE=[[:punct:][:alnum:]]\+ ##'
# of mooier en meer lijkend op het perl ding:
sed -e 's#BOOT_IMAGE=[^[:space:]]\+ ##'


Toch jammer dat sed niet de \S kent zoals perl
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 2 februari 2010 @ 15:42:24 #56
147503 Iblis
aequat omnis cinis
pi_77553882
Je zegt het zelf al, maar daarbij:

Je kunt eventueel ook [^ <TAB>] doen, waarbij je voor <TAB> letterlijk een tab in je editor typt… maar dat is niet zo duidelijk. Die Perl-classes zoals \S en \s zijn echter geen POSIX, allicht dat sommige seds ze wel snappen, maar heel portable zal het niet zijn. Een letterlijke [^ <TAB>] is denk ik nog het meest portable.

Als je zeker weet dat er geen <TAB> wordt gebruikt voldoet [^ ] ook natuurlijk.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  dinsdag 2 februari 2010 @ 15:47:18 #57
126003 Daniel1976
de omnibus dubitandum
pi_77554099
Ik kan nog steeds posten hier.

Helaas weet ik niet meer wat ik hier boven had getikt wel jammer.

het zal wel een rm -Rf gewest zijn

Dan moet je de man pages maar doorlezen.
pi_78601405
Hoe kan ik nou makkelijk een commando uitvoeren op een serie bestanden met nummers? Bijv ik heb File0001.jpg, File0002.jpg, File0003.jpg, etc en ik wil op ze allemaal touch uitvoeren. Het zal wel met een for-loop gaan ofzo, maar ik ben geen ster in bash scripting (ik kan met een shell overweg maar heb me nog nooit gewaagd aan shell scripts eigenlijk) dus als iemand dit me zou kunnen vertellen zou dat heel mooi zijn.
  maandag 1 maart 2010 @ 18:55:05 #59
147503 Iblis
aequat omnis cinis
pi_78601863
Nu wil het toeval dat touch op meerdere files werkt, dus dan kun je simpelweg touch File*.jpg doen bijvoorbeeld. In het geval dat je iets wilt doen wat maar met één file tegelijk kan, b.v. resizen, dan doe je het inderdaad met een for-loop. Die ziet er zo uit:

1
2
3
for i in  do
   commando $i $i.out
done;


* wordt simpelweg geëxpandeerd tot een lijst van bestanden (zoals de shell altijd doet), en vervolgens wordt voor elk element in die lijst de code tussen do en done uitgevoerd waarbij $i de waarde heeft van dat element.

(Je kunt natuurlijk ook for j in *; of for bestand in *; doen, en verandert je variabele ook in b.v. $​bestand.)

Er is een aantal zaken waar je op moet letten, in het bijzonder wanneer de bestanden spaties bevatten. Wat dat betreft is het beter om in de loop "$i" te typen.

In jouw geval zou je het zo kunnen oplossen:


1
2
3
for i in File*jpg; do
   touch "$i"
done;


Hier een voorbeeld om b.v. thumbnails te maken:


1
2
3
for i in File*jpg; do
   convert "$i" -resize 20% th_"$i".jpg
done;


Dan krijg je een hele rits nieuwe bestanden genaamd th_File0000.jpg, th_File0001.jpg, enz.

Je kunt natuurlijk altijd experimenteren met 'echo' om te zien wat het commando uiteindelijk wordt, b.v.:

1
2
3
for i in File*jpg; do
   echo convert "$i" -resize 20% th_"$i".jpg
done;


En je kunt in de shell ook de boel op 1 regel typen als je wilt:

1for i in File*jpg; do touch "$i"; done;
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_78607693
Super, thanks! Ik neem aan dat in je eerste voorbeeld je for i in * bedoelt? Er staat namelijk for i in alleen.
  maandag 1 maart 2010 @ 20:39:39 #61
147503 Iblis
aequat omnis cinis
pi_78607909
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.
Oh ja. Foutje. Foutje van FOK! zelfs, er staat wel *; in de source, maar dat verdwijnt in een code omgeving.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_78713775
Ik weet niet of ik met deze vraag helemaal bij het goede adres ben, maar het komt wel in de buurt volgens mij

Ik heb in C een programma geschreven dat een model simuleert (Ising model, rooster met punten die +1 of -1 kunnen zijn), en dat werkt. Nu laat ik mijn programma het uiteindelijk gecreerde rooster gewoon printen met printf.

Om de evolutie van dit rooster echter goed te kunnen bekijken voldoet dit niet echt, het rooster staat zo namelijk niet vast in de terminal, hij scrollt naar boven. Het liefste zou ik mijn programma een apart scherm laten openen waar ik het rooster telkens opnieuw in kan printen, zodat als ik mijn simulatie laat lopen ik makkelijk kan zien hoe het zich ontwikkeld. In IDL zou ik dit wel kunnen, maar ik kan nergens vinden hoe ik zoiets in C kan programmeren.

Misschien is daar ook wel een commando voor in de terminal, net zoals dat ' > output.dat ' alle output naar dat bestandje wegschrijft. Weten jullie of zoiets bestaat?

Bij voorbaat dank in ieder geval!
Sea Shepherd
Virtus omnia vincit
  donderdag 4 maart 2010 @ 00:23:41 #63
147503 Iblis
aequat omnis cinis
pi_78714086
In principe is de terminal alleen iets waarop na elkaar geprint wordt. Je zult een soort clrscr-routine moeten zoeken m.b.v. een library zoals ncurses.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_78714319
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!
Sea Shepherd
Virtus omnia vincit
  donderdag 4 maart 2010 @ 00:43:42 #65
147503 Iblis
aequat omnis cinis
pi_78714780
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!
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).

Dus zeg:

1
2
3
4
5
6
7
8
9
10
#include <unistd.h>

int main(void) {
   ...
   while(!done) {
     print_rooster();
     sleep(1); //1 seconde
               //of b.v.:
     usleep(500000); // 500000 microseconden
   }
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_78715053
Ohja, das in ieder geval wel een makkelijke methode om het snel wat beter te maken, thx
Sea Shepherd
Virtus omnia vincit
pi_90099179
Vraagje

Iemand enig idee hoe ik via shell het aantal bestanden tel wat zich in een ftp map bevindt (ben dus met ftp verbonden)?
  zaterdag 18 december 2010 @ 21:44:11 #68
29444 RemcoDelft
4 8 15 16 23 42
pi_90099416
quote:
1s.gif 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)?
Zelfs als je een getal terugkrijgt: wat wil je dat je ftp-client daarmee doet?
Heb je geen ssh-toegang, dat maakt het eenvoudiger.
censuur :O
pi_90099715
quote:
1s.gif 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.
Bestanden hernoemen, ssh toegang heb ik geloof ik wel (weet alleen niet hoe ik dat opzet, even uitzoeken)

Bestand01.jpg
Bestand02.jpg
...
Bestand**.jpg

Hernoemen naar

BestandWiii01.jpg
BestandWiii02.jpg
...
BestandWiii**.jpg
  zondag 19 december 2010 @ 03:37:32 #70
187069 slacker_nl
Sicko pur sang
pi_90112201
1rename -n 's/(Bestand)(\d+)/$1Wii$2/' Bestand*.jpg

Als je tevreden bent, -n weghalen en done :)
Je kan het ook met een for-loop doen, maar rename commando is handy :)
In theory there is no difference between theory and practice. In practice there is.
pi_90123034
quote:
1s.gif 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 :)
Ty :*

Ander vraagje hoe upload ik een hele directoy naar ftp? Kan alleen bestanden verplaatsen maar geen dirs..?
  zondag 19 december 2010 @ 14:32:49 #72
136730 PiRANiA
All thinking men are atheists.
pi_90123276
quote:
1s.gif 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..?
Google even op lftp (mirror)
pi_90124362
quote:
1s.gif Op zondag 19 december 2010 14:32 schreef PiRANiA het volgende:

[..]

Google even op lftp (mirror)
Ty :* vraagje aan Slacker nog

1rename -n 's/(Bestand)(\d+)/$1Wii$2/' Bestand*.jpg

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?
  zondag 19 december 2010 @ 15:33:19 #74
187069 slacker_nl
Sicko pur sang
pi_90126107
quote:
1s.gif Op zondag 19 december 2010 14:56 schreef Dale. het volgende:

[..]

Ty :* vraagje 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?
Het is gewoon een perl regexp ja, die -n is dat ie laat zien wat ie zou doen, zonder het daadwerkelijk te doen.
In theory there is no difference between theory and practice. In practice there is.
  zondag 19 december 2010 @ 15:48:43 #75
29444 RemcoDelft
4 8 15 16 23 42
pi_90126815
quote:
1s.gif 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..?
Mijn persoonlijke voorkeur is tegenwoordig scp (ssh-toegang vereist):

scp -r /home/user/directory username@example.com:/home/andereusername/subdirectory # :)
censuur :O
pi_90129463
quote:
1s.gif 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.
Hmmm die -n flag doet het volgens mij niet bij me :?

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
  zondag 19 december 2010 @ 17:40:39 #77
187069 slacker_nl
Sicko pur sang
pi_90131811
dat werkt niet met ftp nee, ssh toegang is wel een vereiste :)
In theory there is no difference between theory and practice. In practice there is.
pi_90135688
quote:
1s.gif Op zondag 19 december 2010 17:40 schreef slacker_nl het volgende:
dat werkt niet met ftp nee, ssh toegang is wel een vereiste :)
ok en hoe krijg ik dat? Vind alleen maar lange manuals :@ waar ik niet veel zin heb om die helemaal door te lezen.
  zondag 19 december 2010 @ 19:18:35 #79
158136 Joooo-pi
Do you want a balloon...
pi_90136594
quote:
1s.gif Op zondag 19 december 2010 18:58 schreef Dale. het volgende:

[..]

ok en hoe krijg ik dat? Vind alleen maar lange manuals :@ waar ik niet veel zin heb om die helemaal door te lezen.
Als je server ssh draait, dan vanuit windows met putty of vanuit linux gewoon vanuit de terminal:

$ ssh inlognaam@ip-van-server
heitieh
pi_90144131
quote:
99s.gif 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
Ah thanks dat is eenvoudig.
pi_90514839
quote:
1s.gif 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.
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.
  maandag 27 december 2010 @ 23:10:32 #82
187069 slacker_nl
Sicko pur sang
pi_90516035
quote:
1s.gif 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.
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.
In theory there is no difference between theory and practice. In practice there is.
pi_90516568
quote:
1s.gif 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.
ah ja sorry maar bedoel natuurlijk alle parts iets van 50 ofzo :+ dus dat hij alle .rar's verplaatst, niet enkel 01.
  maandag 27 december 2010 @ 23:23:07 #84
136730 PiRANiA
All thinking men are atheists.
pi_90516619
quote:
1s.gif Op maandag 27 december 2010 23:22 schreef Dale. het volgende:

[..]

ah ja sorry maar bedoel natuurlijk alle parts iets van 50 ofzo :+ dus dat hij alle .rar's verplaatst, niet enkel 01.
mv Home\ Alone.mkv.part*.rar Home\ Alone/

?
pi_91209214
quote:
1s.gif Op zondag 19 december 2010 17:40 schreef slacker_nl het volgende:
dat werkt niet met ftp nee, ssh toegang is wel een vereiste :)
Hmmmm ik heb nu via ssh admin@<ip> ssh geopend alleen wanneer ik de commando rename uitvoer zegt die dat hij die niet kent...
  woensdag 12 januari 2011 @ 14:07:10 #86
73930 Blinker
Only one Go Ahead Eagles
pi_91210331
quote:
1s.gif 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...
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/
  woensdag 12 januari 2011 @ 16:21:37 #87
187069 slacker_nl
Sicko pur sang
pi_91216581
quote:
1s.gif 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/
pssst
In theory there is no difference between theory and practice. In practice there is.
  woensdag 12 januari 2011 @ 20:37:22 #88
73930 Blinker
Only one Go Ahead Eagles
pi_91230114
quote:
1s.gif Op woensdag 12 januari 2011 16:21 schreef slacker_nl het volgende:

[..]

pssst
Haha, nooit geweten! Moet zeggen dat ik mij altijd goed heb gered met mv :P
pi_91233385
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?
  woensdag 12 januari 2011 @ 22:27:03 #90
187069 slacker_nl
Sicko pur sang
pi_91238928
quote:
1s.gif 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?
dan doe je echo "mv stuff daar" en dan zie je wat je zou doen :)
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 september 2011 @ 22:19:19 #91
136730 PiRANiA
All thinking men are atheists.
pi_102531093
Ik ga deze weer eens schoppen. Zonder reden.

Hebben mensen nog interessante scriptjes? :9.
pi_102532945
quote:
14s.gif Op donderdag 29 september 2011 22:19 schreef PiRANiA het volgende:
Hebben mensen nog interessante scriptjes? :9.
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:
-maak een directory in /home2/TimeMachineBackup met datum en tijd in de naam
-kopieer de opgegeven mappen daarnaartoe
-vergelijk (m.b.v. fdupes) alle dubbele files met de vorige versie, en hardlink alle duplicates. Fdupes kijkt niet naar filenames/locaties, maar alleen naar de inhoud van de files.

Voordelen: ik heb nu een backup waarin ik oudere versies van al mijn files kan terugvinden, terwijl een nieuwe backupdatum nauwelijks diskruimte kost.
Nadeel: bruut alles kopieren en daarna vergelijken zorgt voor enkele uren actief harddiskgebruik, bij voorkeur doen als ik de PC niet nodig heb dus.

Voor de liefhebbers in de simpelste vorm (zelf aanpassen naar behoefte, zorg dat je weet wat je doet, ik geef GEEN garanties!):
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
censuur :O
pi_102539231
Mijn rmkernel script. Getest op Debian en Ubuntu, maar werkt denk ik ook op andere Debian based systemen.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 8 mei 2012 @ 11:21:07 #94
44552 Black_Ninja
Ninja's bestaan!
pi_111282142
Via een doorverwijzing even mijn vraag hier posten :)

Hoeveel werk is het om dit commando te laten uitvoeren?

1    VBoxManage startvm "vm" --type headless

Ik wil het eigenlijk in een cronjob zetten zodat hij controleert of de Vbox al draait en zo nee, dan opstarten, zo ja dan zo laten.

en op die Vbox zelf moet hij ook nog wat dingen doen, namelijk:

1~/run_replication.sh
en
1./run_server.sh

Beide moeten eigenlijk worden gecontroleerd of ze runnen 1x per uur ofzo en daarnaast moet ie 1x per dag
1sudo shutdown now
uitvoeren zodat hij de gegevens van die dag opslaat en dan via dat controle scriptje op de echte machine binnen een uurtje weer opstarten :)
Domo Arigato!
  dinsdag 8 mei 2012 @ 11:28:40 #95
187069 slacker_nl
Sicko pur sang
pi_111282443
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.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 8 mei 2012 @ 11:30:53 #96
44552 Black_Ninja
Ninja's bestaan!
pi_111282538
quote:
0s.gif 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.
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.

Als ik die .sh dingen in een cronjob wil zetten, kan ik dan gewoon dat commando zoals het daar staat er in zetten of moet ik het dan op een andere manier aanroepen? :@
Domo Arigato!
  dinsdag 8 mei 2012 @ 11:35:44 #97
187069 slacker_nl
Sicko pur sang
pi_111282741
Je moet het volledige path gebruiken.

Bijvoorbeeld als je aptitude update vanuit de cron gaat draaien krijg je dit:

10 0 * * * /usr/bin/aptitude update &>/dev/null

Als je zelf een script schrijft moet je zorgen dat je PATH in je script gedefinieerd is.

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

En uiteraard ook je script chmodden :)

Maar begin simpel met gewoon het starten van vbox binnen een script, daarna met ps kijken of je instance draait, en dan op basis daarvan een start en status functie schrijven. Daarna kan je redelijk simpel een init script maken en die kan je gebruiken in de cron.

Tevens: http://www.virtualbox.org/manual/ch07.html#vboxheadless

[ Bericht 5% gewijzigd door slacker_nl op 08-05-2012 11:41:49 ]
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 8 mei 2012 @ 11:41:43 #98
44552 Black_Ninja
Ninja's bestaan!
pi_111282981
quote:
0s.gif 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 :)
Sorry ik probeer zo snel mogelijk alles onder de knie te krijgen maar ik ben nogsteeds een groentje hiermee :@

1/usr/lib/virtualbox/VBoxManage startvm "vm" --type headless
Zou dat voldoende moeten zijn in rc.local?

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

:@

Want dit doet hij dus niet :@
Domo Arigato!
  dinsdag 8 mei 2012 @ 11:44:54 #99
187069 slacker_nl
Sicko pur sang
pi_111283131
quote:
0s.gif 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 :@
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:

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
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 8 mei 2012 @ 11:50:08 #100
44552 Black_Ninja
Ninja's bestaan!
pi_111283349
quote:
0s.gif 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 ]

Ja dat begrijp ik dus ook niet waar hij het niet doet ;(

Maar als ik het nu allemaal in een cronjob prop, zou het dan allemaal zo extreem ingewikkeld moeten zijn? :@

Als ik in de cronjob een @reboot commando plaats om de VM te starten na een reboot en dan op een vast tijdstip de VM laat afsluiten en dan op een vast tijdstip 2 minuten later de VM weer laat opstarten ben ik er ook.

Zou je misschien een voorbeeld kunnen geven hoe het er volgens jou in cronjob uit zou moeten zien? :@
Domo Arigato!
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')