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.
iefow schreef op 22.04.2006 19:59
dan maar op die vorige omslachtigere manier i guess... Weet je wat ik verkeerd heb gedaan in die php file?

Hij geeft deze error:
Warning: rename(/rssarchief/rss,/rssarchief/20060422): No such file or directory in /home/lynckbe/public_html/backuprenamebestandje.php on line 3


Ik zie hier een komma tussen staan hief/rss,/rssarchief

backuprenamebestandje.php
Je hebt m ook nog zo genoemd. Lachen, wel een beetje lang.
Ah dat blijft wel staan! Eens zien wat ie doet :)
SanThe schreef op 22.04.2006 20:07


Ik zie hier een komma tussen staan hief/rss,/rssarchief

backuprenamebestandje.php
Je hebt m ook nog zo genoemd. Lachen, wel een beetje lang.


Hehe ja dan wist ik tenminste wat voor bestand het was, die lengte boeit niet, wordt alleen in die cronjob gebruikt.

Anyway. Als ik die comma weg haal op line 3 krijg ik deze error -->
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/lynckbe/public_html/backuprenamebestandje.php on line 3
iefow schreef op 22.04.2006 20:14
Ah dat blijft wel staan! Eens zien wat ie doet :)


Mooi. Ik ben ook wel heel benieuwd of het nu werkt.
SanThe schreef op 22.04.2006 20:04
En met enkele quotes (werkt ook namelijk)

cp -R blablabla /rssarchief/`date '+%Y%m%d'`


Dat levert deze error mail op :( -->

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
(Ik zei eerst even in mezelf een lelijk woord.) Tja dan werkt het bij jou niet. Toch vind ik dat wel vreemd. Maar ja niks aan te doen. Bij mij deed ie het namelijk wel.


Hoe ziet dat php stukje er nu uit? (Dan moeten we dat maar aan de praat krijgen)
Ik heb vandaag al heel wat lelijke woorden gezegd dus schaam je niet :P

dat stukje php ziet er als volgt uit:

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



rssarchief is de map waar de gekopieerde map in wordt opgeslagen.
rss is de naam van de map die gekopieerd is en welke dus een andere naam moet krijgen.
de map rssarchief staat direct in de root, dus is niet ergens een dir in een dir.

Ik ga duimen dat het nu eindelijk gaat lukken ;)
Ik duim met je mee.

Maar ik mis hier toch echt de komma
rename("/rssarchief/rss" "/rssarchief/" . $backupnaam);

Dus
rename("/rssarchief/rss", "/rssarchief/" . $backupnaam);

Als ik op php.net kijk is rename voor bestanden. Ik zie nergens dat het ook voor dirnames is. Maar ach, so what,
Nu staat die komma er wel tussen en dan krijg ik dus deze foutmelding

Warning: rename(/rssarchief/rss,/rssarchief/20060422): No such file or directory in /home/lynckbe/public_html/backuprenamebestandje.php on line 3

er staat no such file or directory, dus lijkt me dat het dan ook voor dirs moet kunnen...
Zeer vreemd. Maar ik heb nog een ander idee.

Je maakt een bestandje met daarin deze drie regels:

#!/bin/sh
dirname = date "+%Y%m%d"
cp -R /directory /rssarchief/$dirname

Dit bestandje noem je backup.sh en chmod je op de site naar 555

Dan zet je in de crontab

0 12 * * * /home/lynckbe/public_html/backup.sh

Ik neem aan dat dat het goede path is.
Vervang /directory door de te backuppen dirname.

Reageren