Radera öppen fil på server?

Tråden skapades och har fått 11 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2009-09-02 12:39

Kan man radera en fil som någon läser? Jag drabbas då och då av att folk läser filer de inte ska öppna. Jag vill ibland ersätta dessa med nyare versioner men tvingas då att döpa om den öppnade filen och sedan lägga ner en ny med det gamla namnet.
Kan man radera den gamla trots att den är öppen? Jag tror att det är en Solaris-server.

  • Medlem
  • International user
  • 2009-09-02 13:33

Kan du inte döda processen som acceserar filen som du behöver uppdatera?
sen (nu känner jag mig som en idiot) behöver du väll kolla över behörigheterna till dina filer om du inte önskar att dina användare ska öppna dessa?

  • Medlem
  • 2009-09-02 15:06

De ska vara tillgängliga för kopiering, inte för läsning.

Jag vet inte vad du menar med att döda processer, men om du menar den process (app) som filen är öppnad i så är problemet att jag inte vet vem av 70 potentiella användare som har öppnat filen ( i InDesign).
Det går heller inte att titta på inloggningen mot servern eftersom ett betydande antal användare ansluter med samma uppgifter.

Hmm... när det gäller tillgänglighet för kopiering, men inte för läsning så är det inget som vanliga posix-rättigheter kan hantera, om jag fattat saken rätt, men möjligtvis kan det gå om Solaris har stöd för ACL-rättigheter (även om jag tror det är knepigt även då)

Däremot är det enkelt att radera en öppen fil, i terminal "sudo rf sökväg till filen"

Skriv inte fel...

  • Medlem
  • Stockholm
  • 2009-09-02 15:37

Kör du inDesign på en Solaris-server? Har du kanske någon typ av fildelning? Vilken?

För UNIX och Mac-system gäller att det går helt utmärkt att radera en fil som en process har öppen. Vad som händer då är att filen inte försvinner förrän alla program som har filen öppen stänger filen. Programmen kan alltså fortsätta jobba med filen, fastän den är "borttagen". Däremot är namnet till filen (den hårda länken) borta så ingen ny kan öppna den.

Ibland är det här en fantastisk finess, ibland kan det skapa rejäla bryderier.

Om filen är öppen via en NFS-delning är jag dock osäker på vad som händer...

  • Medlem
  • 2009-09-02 16:54

Ok, jag ansluter med afp till Servern och har Filen i /Volymen/Mappen/Mappen2/
Hur ska terminalkommandot se ut då?

Ingen kör förstås InD på en Solarisserver, utan det är endast en filhanterare.

  • Medlem
  • 2009-09-02 17:00

testar sudo rf på fil på skrivbordet:

Dator:~ per$ sudo rf /Users/per/Desktop/Bild3.png 
sudo: rf: command not found
Dator:~ per$ 

rm skall det vara

Ursprungligen av Johan S:

rm skall det vara

Så riktigt så, slarvigt utav mig...

och rm -rf för att rekursivt ta bort en mapp (som filer ibland är i osx)

  • Medlem
  • 2009-09-02 17:28

Tack Johan, det fungerade (på skrivbordet). Men den aktuella filen gick inte att radera eftersom terminalen hånar mig med ett "Resource busy".

  • Medlem
  • Jönköping
  • 2009-09-02 17:37

Detta kommandot måste köras lokalt på servern med erforderliga rättigheter om det skall fungera.

Jag vet inte hur det fungerar med afp, men jag har ett svagt minne av att man kan hindra klienter från att låsa filer från ändring i samba.

edit:
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html

Kanske kan detta ge en ledtråd på hur ni kan lösa det med afp?

1
Bevaka tråden