Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Production Directory Structures Post 302079403 by thestevew on Monday 10th of July 2006 07:37:53 AM
Old 07-10-2006
I wouldn't recommend /home, this is really for users' home directories for their private data. I'm with Jim's advice on this one - keep major applications in their own file systems so that they can be backed up easily and can't be affected by a UNIX installation/upgrade.
For a good (and very detailed) overview of (one group's ideas) of how directories should structured, see http://www.pathname.com/fhs/pub/fhs-2.3.html
 

10 More Discussions You Might Find Interesting

1. Programming

pointer to structures

Dear friends I have a bit basic doubts in pointers and the structures inter relationships. the first one. static struct apvt { int dead; int pending; int abouttograb; }*agents=NULL; what agents pointer is... (1 Reply)
Discussion started by: tech_voip
1 Replies

2. Shell Programming and Scripting

help:comparing two directory tree structures only

Hi I what, a script snippet for "comparing two directory tree structures only " not the contents of directories(like files..etc). Thanking you a lot. Regards Rajesh (7 Replies)
Discussion started by: raj_thota
7 Replies

3. Programming

Programming using Structures

Hi All, I was given a format of a file, and was asked to write a program which displays the data contained in the file in that purticular format. Its all so confusing. Please find the example of the format as well the code I have written in the attachment. I hope any one of u guyz can... (0 Replies)
Discussion started by: jazz
0 Replies

4. Linux

about system structures

hello can any1 plz tell me about the system defined structures (like sysinfo) which wil give system and n/w charecteristics (ex: freeram in sysinfo). (1 Reply)
Discussion started by: jeenat
1 Replies

5. Programming

Dynamically allocated structures in C

I have a pointer to a structure containing an integer pointer: struct members { int id; int *neigh; }; The number of members N and its neighbors M change as the code runs, so I allocate the memory dynamically: members *grid = malloc(sizeof(members)*N); for(i=0;i<N;i++)... (2 Replies)
Discussion started by: brinch
2 Replies

6. UNIX for Dummies Questions & Answers

Delete duplicate files from one of two directory structures

Hello everyone, I have been struggling to clean up a back-up mess I created when manually duplicating a directory structure and then working in both of them.. The structures now are significantly different and contain in the order of 15 k files of which most are duplicates. Now I am trying to... (0 Replies)
Discussion started by: procreator
0 Replies

7. Shell Programming and Scripting

Perl Data Structures

Here is what i need to do. @data #has all column wise data so say info for col 1 location for all rows would be in this array $array = \@data But i need to create a file which should contain these information in a format for all columns even if i have got no values from some of the index... (0 Replies)
Discussion started by: dinjo_jo
0 Replies

8. BSD

Copying OpenBSD Kernel from a non production to production machine

Hi All, There are few OpenBSD 4.8 servers without compiler installed at my working place. However, sometimes there are some patches released for patching the kernel. My question is: Can I setup a non production OpenBSD 4.8 server as a test machine with compiler installed and use it to... (1 Reply)
Discussion started by: lcxpics
1 Replies

9. Programming

Signalsafe data structures

Hello, I have a signal handler which manipulates a data structure. The data structure's operations aren't atomic. So if two threads/processes are in a critical section at the same time the data structure will be broken. With threads you can avoid this stuff with semaphores etc. However,... (10 Replies)
Discussion started by: littlegnome
10 Replies

10. Programming

C- static initialization of structures

Situation: I have an array of structures: struct my_struct_type { char tags_sn; char group_c; char is_err_c; }; struct my_struct_type stuff = { "abcd", 'A', 'E', "efgh", 'B', 'E', "ijkl", 'C', 'E' NULL, '\0', '\0' ... (14 Replies)
Discussion started by: garysk
14 Replies
FSVS - Backup HOWTO(5)						       fsvs						    FSVS - Backup HOWTO(5)

NAME
HOWTO: Backup - This document is a step-by-step explanation how to do backups using FSVS. This document is a step-by-step explanation how to do backups using FSVS. Preparation If you're going to back up your system, you have to decide what you want to have stored in your backup, and what should be left out. Depending on your system usage and environment you first have to decide: o Do you only want to backup your data in /home? o Less storage requirements o In case of hardware crash the OS must be set up again o Do you want to keep track of your configuration in /etc? o Very small storage overhead o Not much use for backup/restore, but shows what has been changed o Or do you want to backup your whole installation, from / on? o Whole system versioned, restore is only a few commands o Much more storage space needed - typically you'd need at least a few GB free space. The next few moments should be spent thinking about the storage space for the repository - will it be on the system harddisk, a secondary or an external harddisk, or even off-site? Note: If you just created a fresh repository, you probably should create the 'default' directory structure for subversion - trunk, branches, tags; this layout might be useful for your backups. The URL you'd use in fsvs would go to trunk. Possibly you'll have to take the available bandwidth into your considerations; a single home directory may be backed up on a 56k modem, but a complete system installation would likely need at least some kind of DSL or LAN. Note: If this is a production box with sparse, small changes, you could take the initial backup on a local harddisk, transfer the directory with some media to the target machine, and switch the URLs. A fair bit of time should go to a small investigation which file patterns and paths you not want to back-up. o Backup files like *.bak, *~, *.tmp, and similar o History files: .sh-history and similar in the home-directories o Cache directories: your favourite browser might store many MB of cached data in you home-directories o Virtual system directories, like /proc and /sys, /dev/shmfs. Telling FSVS what to do Given $WC as the working directory - the base of the data you'd like backed up (/, /home), and $URL as a valid subversion URL to your (already created) repository path. Independent of all these details the first steps look like these: cd $WC fsvs urls $URL Now you have to say what should be ignored - that'll differ depending on your needs/wishes. fsvs ignore './**~' './**.tmp' './**.bak' fsvs ignore ./proc/ ./sys/ ./tmp/ fsvs ignore ./var/tmp/ ./var/spool/lpd/ fsvs ignore './var/log/*.gz' fsvs ignore ./var/run/ /dev/pts/ fsvs ignore './etc/*.dpkg-dist' './etc/*.dpkg-new' fsvs ignore './etc/*.dpkg-old' './etc/*.dpkg-bak' Note: /var/run is for transient files; I've heard reports that reverting files there can cause problems with running programs. Similar for /dev/pts - if that's a devpts filesystem, you'll run into problems on update or revert - as FSVS won't be allowed to create entries in this directory. Now you may find that you'd like to have some files encrypted in your backup - like /etc/shadow, or your .ssh/id_* files. So you tell fsvs to en/decrypt these files: fsvs propset fsvs:commit-pipe 'gpg -er {your backup key}' /etc/shadow /etc/gshadow fsvs propset fsvs:update-pipe 'gpg -d' /etc/shadow /etc/gshadow Note: This are just examples. You'll probably have to exclude some other paths and patterns from your backup, and mark some others as to-be- filtered. The first backup fsvs commit -m 'First commit.' That's all there is to it! Further use and maintenance The further usage is more or less the commit command from the last section. When do you have to do some manual work? o When ignore patterns change. o New filesystems that should be ignored, or would be ignored but shouldn't o You find that your favorite word-processor leaves many *.segv files behind, and similar things o If you get an error message from fsvs, check the arguments and retry. In desperate cases (or just because it's quicker than debugging yourself) ask on dev [at] fsvs.tigris.org. Restoration in a working system Depending on the circumstances you can take different ways to restore data from your repository. o 'fsvs export' allows you to just dump some repository data into your filesystem - eg. into a temporary directory to sort things out. o Using 'fsvs revert' you can get older revisions of a given file, directory or directory tree inplace. o Or you can do a fresh checkout - set an URL in an (empty) directory, and update to the needed revision. o If everything else fails (no backup media with fsvs on it), you can use subversion commands (eg. export) to restore needed parts, and update the rest with fsvs. Recovery for a non-booting system In case of a real emergency, when your harddisks crashed or your filesystem was eaten and you have to re-partition or re-format, you should get your system working again by o booting from a knoppix or some other Live-CD (with FSVS on it), o partition/format as needed, o mount your harddisk partitions below eg. /mnt, o and then recovering by $ cd /mnt $ export FSVS_CONF=/etc/fsvs # if non-standard $ export FSVS_WAA=/var/spool/fsvs # if non-standard $ fsvs checkout -o softroot=/mnt If somebody asks really nice I'd possibly even create a recovery command that deduces the softroot parameter from the current working directory. For more information please take a look at Using an alternate root directory. Feedback If you've got any questions, ideas, wishes or other feedback, please tell us in the mailing list users [at] fsvs.tigris.org. Thank you! Author Generated automatically by Doxygen for fsvs from the source code. Version trunk:2424 11 Mar 2010 FSVS - Backup HOWTO(5)
All times are GMT -4. The time now is 07:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy