Ik heb wat gezocht op google en ik kom nu niet meer verder.

Ik heb een map die ik iedere dag wil kopieeren en opslaan voor archiefdoeleinden. De map "mapX" moet dus iedere 24 uur worden gekopieerd en ik zou graag willen dat de map de naam van de datum krijgt dus bijv. 22 april 2006 -> 220406 en dan de volgende 230406.

Dat kopieeren heb ik nu geloof ik gevonden hoe dat moet met een cronjob:

0 12 * * * cp -R /mapX/* /backupdir

Nu is alleen nog de vraag of dit ook echt klopt EN hoe ik dan ervoor zorg dat hij die naam aan de map geeft. En bij de volgende niet die vorige overschrijft maar weer een nieuwe naam maakt...

Hoop dat ik het een beetje goed heb uitgelegd, alvast bedankt voor de reacties.
Dat commando wat je nu hebt copiëert om 12 uur 's middags alle bestanden en alle submappen van de map 'mapX' die in de / (root) directory staat naar de map 'backupdir' die ook in de / (root) directory staat.

Om die datum zo in de dirname te krijgen dat gaat niet in één commando.
NTbackup ?
Hmk, en als ik dan in php rename doe? dus een file die zo gaat:

<?php
rename("/mapX", "/220406");
?>

En dan zet ik die php file in een cronjob, die ik laat runnen iedere dag om kwart over 12 's middags. Dan moet het wel werken, of denk ik te kort door de bocht?

Hoe zorg ik er dan voor dat die directory naam dan steeds het getal krijgt van de datum, of in ieder geval steeds een andere naam? :s [/noob]
Als je 'mapX' een andere naam gaat geven gaat alles fout. Dat is namelijk het origineel en niet de backup.:P

Maar als je dit
0 12 * * * cp -R /mapX/* /backupdir
verandert in dit
0 12 * * * cp -R /mapX /backupdir/

Dan krijg je de map /backupdir/mapX en die kun je renamen.
<?php
rename("/backupdir/mapX", "/backupdir/220406");
?>

Ik zou trouwens die datum andersom noteren i.v.m. eventueel sorteren. Dus 060422
2 verdomd goeie punten, het is weekend hè :x

Dan blijf ik nog met de (volgens mij) laatste horde zitten: hoe krijg ik dan steeds een andere naam voor die back-up directory?
Dat had je zelf al aangegeven. Ook in een conjob. Dus

0 12 * * * cp -R /mapX /backupdir/
15 12 * * * php /backuprenamebestandje.php

Waarschijnlijk moet je wel het hele path ingeven voor php. Bij mij zou dat zijn /usr/local/bin/php

<?php
$backupnaam = date("Ymd"); // geeft 20060422 (is nog mooier)
rename("/backupdir/mapX", "/backupdir/" . $backupnaam);
?>
hmm ok er is iets mis met de path van mijn cronjob want ik krijg steeds error mails met de boodschap: specified destination directory does not exist

Dus ik heb nu maar een mail gestuurd naar de helpdesk. Denk dat het daarna wel moet lukken, dank voor de hulp!
hmk dat renamen, daar loopt 't nu spreekwoordelijk spaak. Ik open wel even een nieuw topic want dat is natuurlijk weer een ander verhaal.
Je moet wel de dir 'backupdir' aanmaken.

Dat heb ik gedaan... Het zit nu zo:

De gekopieerde map gaat naar de volgende locatie in de root:
/public_html/archief/rss

"rss" is dan de map die gekopieerd is EN die een andere naam moet krijgen

Van dat php dingetje heb ik dus nu dit gemaakt:

<?php
$backupnaam = date("Ymd"); // geeft 20060422 (is nog mooier)
rename("/archief/rss", "/archief/" . $backupnaam);
?>


Nu heb ik die cronjob aangezet, maar er gebeurd nul nada noppes. Het ligt niet aan de cronjob denk ik want dat snap ik nu wel ;)

Dus ik vermoed dat ik een foutje heb gemaakt in dat php ding, maar wat? :s

Reageren