Locking a file when using VI to prevent multiple-edit sessions by diff users


 
Thread Tools Search this Thread
Operating Systems AIX Locking a file when using VI to prevent multiple-edit sessions by diff users
# 1  
Old 10-30-2006
Locking a file when using VI to prevent multiple-edit sessions by diff users

At the office, we often have to edit one file with VI. We are 4-6 workers doing it and sometimes can be done at the same time.

We have found a problem and want to prevent it with a file lock. Is it possible and how ?

problem :

Worker-a starts edit VI session on File-A at 1PM
Worker-b starts edit VI session on File-A at 1:05PM

worker-a changes 100 lines and exit/saves at 2:00PM
worker-b changes 1 line and exit/saves at 2:15PM

as result, changes done by worker-a are lost
we even had cases where losts of lines being edited were lost.

if we could lock the file upon editing it with VI, it woud prevent others from editing it and would have to wait for whomever is in to finish before being able to edit it.
# 2  
Old 10-31-2006
not really a convenient solution ...

I would do that the hard way ... recompile from the source Smilie
Get the source, modify so to open in read-only mode (and warn user) if the lock file is present!
Not really what you're looking for i guess Smilie (though the modification should be straight)
# 3  
Old 10-31-2006
instant messaging, send a message to all other users that you are hacking around in the file so the others know to hold off until you are done.
i cannot think of an easy way with file locking to prevent your problem.
we have several dev boxes that we modify or reboot at random and we use instant messaging to broadcast a message that we are doing some changes, seems to work for us.
# 4  
Old 11-10-2006
locking via shell script ?

Isn't there a unix (AIX) command that can lock or unlock a file ?

That way we could simply execute a small script that would do :

if file not locked
lock file
vi file
unlock file
else
echo "file being edited"
# 5  
Old 11-10-2006
A revision management system such as CVS and Subversion will eliminate all of your worries in the long run.

Do not let everybody modify the production version. Have every staff checkout a local copy, which everyone modifies on their own, commit to CVS, and at last only update the production version by the administrator after the current version has been considered okay.

Best of all, such systems can help you keep the revision history of every file managed, so you literally never lose anything!
# 6  
Old 11-14-2006
Maybe you can either:
1.
ask the user to do a ps -ef before editing the file
cerntst1:/# ps -ef | grep test
root 478570 611346 0 15:29:18 pts/2 0:00 vi test.txt <-----
root 647012 51760 0 15:29:39 pts/3 0:00 grep test

or
2.
create a program to detect the vi process and if vi test.txt is showing up in the process, exit.
# 7  
Old 11-14-2006
Like cbkihong said, revision control is the way to go. You could even use a built-in system like rcs.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Find number of ACTIVE SSH putty sessions, excluding where the user hopped on to a diff server

Hi - If iam logged on to server A, on 4 putty windows using SSH ... and out of these 4 logged-in sessions, in one of the sessions if i did SSH from server A to server B; i would now have 4 putty windows sessions ... of which 3 are actively logged on to Server A while 1 putty window is actively... (2 Replies)
Discussion started by: i4ismail
2 Replies

2. AIX

Telnet sessions stay as idle users

Hi The telnet sessions stay as idle users. It is not getting kicked out. Please advise what could be the issue. only when we reboot the server these telnet sessions goes. Below is the current output from the server. we rebooted the server three days ago: pmut6:/> uptime 04:21PM... (8 Replies)
Discussion started by: newtoaixos
8 Replies

3. Shell Programming and Scripting

Need Help to Edit multiple column of a file

Hello Team, I want to know if there is any one liner command , using which I can edit multiple column of a file. input file input.txt (comma separated), taran, 12.45, uttam, 23.40, babay karan, 12.45, raju, 11.40, rahulg I want to update, 2nd and 4th column, but want all those column... (8 Replies)
Discussion started by: Uttam Maji
8 Replies

4. HP-UX

Users getting kicked out of sessions

We have an old (11.11) HP-UX system. A couple of months ago, our customers started having problems with their logins. After sitting idle for roughly an hour, their screens would lock up and they would be kicked out of the system. This happens if they are in the application or on the command... (2 Replies)
Discussion started by: slkdnichols
2 Replies

5. UNIX for Dummies Questions & Answers

In vi, any way to prevent :edit from repositioning the screen?

I am working on a project where I need to make many changes to files, both inside and outside of the vi editor. I make small changes manually right in vi, and I have a script that I run from another session that I use to make bigger changes to the files using sed. After running my script from... (2 Replies)
Discussion started by: RickS
2 Replies

6. UNIX for Advanced & Expert Users

Samba - prevent locking of selected files over network?

I have a samba server which is serving a mixture of files. One main application uses a data file and creates a temporary working execution file at startup and holds that temp execution file open for the duration of the program's execution (but doesn't use the file at all after initial startup). ... (0 Replies)
Discussion started by: humbletech99
0 Replies

7. Solaris

locking a users file as root

hello, I have a challenge to find a way to lock down a file in a user's home directory, such that a user can NOT modify, rename, move, delete, etc. The solution needs to be deployable without, for example, having to switch from unix to windows, etc We are using NFS. We want to lock the... (1 Reply)
Discussion started by: jvmagic
1 Replies

8. Solaris

Prevent users logging in as root

I would like to know how to prevent users connecting to a server using SSH as root. I would still like them to be able to login with their username and then change to su. But I would like to prevent them logging in directly as root. I have searched the forum and read that I should set... (3 Replies)
Discussion started by: Sepia
3 Replies

9. AIX

Users Are Getting Kicked out of 2Hr Sessions

:confused:We've had close to 100 calls about users logging into our AIX server. The users open up about 3 to 5 sessions in the server. After 2hrs of idle time, users are frozen or stuck in the IBM UniVerse Application. We (system administrators) have been blaming the application (which we'll take... (2 Replies)
Discussion started by: Sarccastik Dude
2 Replies

10. Shell Programming and Scripting

Prevent file from being mailed multiple times from a job

We have a ksh which runs once every 15 minutes. Based on a certain condition (for invalid data) we are spooling a file and if the file is of length greater than 0 bytes, then we are mailing this file to a group of users. Upon receiving the file, users correct the data so that on its next run the... (2 Replies)
Discussion started by: Sree_2503
2 Replies
Login or Register to Ask a Question