cp: cannot create regular file

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
Hallo,

Ik zit met een raar probleem waar ik niet uitkom.

Ik heb als cronjob om 0:00, 06:00, 12:00 en 18:00 het volgende script draaien.

code:
1
2
3
4
5
6
7
8
#!/bin/bash

rm /home/wido/mysqldump.old.sql
mv /home/wido/mysqldump.sql /home/wido/mysqldump.old.sql

mysqldump -u wido -e --add-drop-table  --password=*** -A > /home/wido/mysqldump.sql

cp /home/wido/mysqldump.sql /var/www/admin.****.nl/backups/mysqldump.sql


Als ik dit script op de prompt uitvoer no problem.
Als ik via Webmin Run Now! doen ook geen error.

Maar wat nu?
Ik krijg steeds op mijn mail het volgende
code:
1
cp: cannot create regular file `/var/www/admin.***.nl/backups/mysqldump.sql': Permission denied

Je zegt dus, ok, geen rechten.

Maar:
A: Cron draait als root.
B: die dir backups is 777, dus wat dat ding zeurt?

verder, wees niet bang, in mijn firewall staat dat maar 2IP's bij admin.***.nl mogen, dus die backup staat niet gewoon voor de grijp daaro ;)

Wie weet wat dit kan zijn?

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

Bestaat /var/www/admin.***.nl/backups/mysqldump.sql al, en is hij misschien van root?
Kan me bijna niets anders bedenken dan dat dit het wel moet zijn..

Verwijderd

Of +i (immutable)? :?.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
strlen schreef op 16 September 2003 @ 19:57:
Bestaat /var/www/admin.***.nl/backups/mysqldump.sql al, en is hij misschien van root?
Kan me bijna niets anders bedenken dan dat dit het wel moet zijn..
ja, want die wordt bij de vorige cronjob aangemaakt.

maar, je mag toch wel je eigen files overwrite?

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

Ik denk eerder dat je handmatig dat script hebt gedraaid, en dat werd uitgevoerd onder root, terwijl je crontab onder een andere user draait... verwijder het bestand eens, en wacht dan tot je crond het script uitvoert..

Verwijderd

Kan het script wel lezen uit /home/wido/...

anders: gebruik -f bij rm, mv en cp.

code:
1
2
3
4
5
6
7
8
#!/bin/bash

rm -f /home/wido/mysqldump.old.sql
mv -f /home/wido/mysqldump.sql /home/wido/mysqldump.old.sql

mysqldump -u wido -e --add-drop-table  --password=*** -A > /home/wido/mysqldump.sql

cp -f /home/wido/mysqldump.sql /var/www/admin.***.nl/backups/mysqldump.sql

ik ga er van uit dat *** gewoon censuur is en niet de echte naam

Niet om het een of ander, waarom doe je dit zo ingewikkeld, gewoon een
code:
1
2
mysqldump -u $user -p $pass -e --add-drop-table -A \
   > /var/www/admin.$domain.nl/backups/mysqldump.`date '+%F.%T`.$$.sql
Dan krijg je automagisch getimestampte bestanden in de goede plek zonder dat ze elkaar overschrijven

  • nrg
  • Registratie: April 2001
  • Laatst online: 22:45

nrg

Verwijderd schreef op 16 september 2003 @ 23:52:
Niet om het een of ander, waarom doe je dit zo ingewikkeld, gewoon een
code:
1
2
mysqldump -u $user -p $pass -e --add-drop-table -A \
   > /var/www/admin.$domain.nl/backups/mysqldump.`date '+%F.%T`.$$.sql
Dan krijg je automagisch getimestampte bestanden in de goede plek zonder dat ze elkaar overschrijven
Elke nacht om 01:00u wordt http://admin.***.nl/backups/mysqldump.sql ge-wget door een andere server.
Als de bestandsnaam steeds anders is, gaat dat natuurlijk niet werken. :)
We zouden de boel dan om moeten draaien dat deze server (met mysqldump) de dump via ftp upload naar de andere server..

[ Voor 2% gewijzigd door nrg op 17-09-2003 07:15 . Reden: smile ]


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
juist, zegt nrg goed en anders krijg je ook een dir vol met mysql backups, daarom eerst rename naar .old.sql, heb je altijd nog de oude backup mocht de nieuwe mislukken.

en ja, die *** is censuur, je weet maar nooit.
Pagina: 1