General :: Make A Bash Script That Automatically Delete The Home Folders?
Feb 15, 2011
I am administrating a lab in a university and every semester we need to delete all the home folders of the accounts for the next semester. I would like to make a bash script that does this automatically and having trouble with it. Note that I am writing my very first bash script. What I need to do is make a script to delete the following:
Delete everything in /home/$exp$num/$dir
when "exp" could be either "rt", "ic" or "sp".
"num" could run from 1(single digit) to 45 and dir is "profile" and "work".
This is what I tried to write:
Code:
#!/bin/sh
cd /home
for exp in "rt ic sp"
do
[code]....
What seems to be the problem is the reading of "$exp$num" as a joint expression.
i have been copying dvd's and now i do not have enough room in my temporary folder,but i cannot find out how to delete the folders and make space to continue
I'm working in Debian, and I've noticed that when I resize my PuTTY window, the console inside isn't resizing to the new dimentions, so things like nano are running at 80xwhatever instead of the more useful 130xsomething that I've offered it.
I'm running into problems adding the required schema for automount and ldap on Centos 5.6 (also tried Centos 5.3)In the last few days I was able to setup LDAP server and get client authentication working. I want to be able to automatically mount users home folders on logon and store the configuration in ldap.I've done the following so far
1) added include in /etc/openldap/slapd.conf to /etc/openldap/schema/redhat/autofs.schema
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
# include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/redhat/autofs.schema
I'm new to ubuntu (installed 3 days ago). I have two disks in my notebook - one hdd (big, 320GB) and one ssd (very fast, 120GB). Everything is on ssd now, but I want to know how can I split my home directory to make config folders (like .thunderbird, .mozilla, .purple) to use ssd (for very fast response), and put movies, pictures, downloads and other folders to use hdd (a lot of space). Simply mounting hdd as /home is not a good option, becouse config files would be on hdd also. Should I mount (or link) all folders like /home/username/Videos to hdd, or is there a better solution?
I have a shared NTFS partition ("shared") that I use for data for both Windows and Ubuntu. How can I mount the music folder on shared to $Home/Music, and the Videos folder on shared to $Home/Videos? I want to mount the different folders on the partition to different folders in home.
I have a set of bash scripts that I'm running that automatically build a set of packages for me and redirect their output into logs. Basically, I have a bunch of lines that are something like this: ${CONFIGURE_DIR}/configure &> ${LOG_DIR}/log or cd ${CONFIGURE_DIR} && make &> ${LOG_DIR}/log, etc.
This is supposed to make the entire process silent. However, sometimes with some packages some output leaks to my console (either stdout or stderr). I'm thinking that maybe the configure scripts/make are executing commands within new shell instances that don't inherit my redirect, or something to that effect.
Another reason for thinking this is that in another part of my script I detect errors when running make by testing with "if [ $? -ne 0 ]", and if the redirect leaks to my console and also the leaked output indicates that the build failed ("make: Error" and so on), then my $? test fails (i.e., it thinks that $? == 0, whereas a failed make should return a non-zero value). It's as if my original script can't "see" the results from child commands executed from later scripts.
I just had a bad experience with a server, and now i have a 17GB lost+found. It appears a lot of the stuff in there are folders which are empty. Since those really serve no purpose as far as recovering data from what I can tell, is there a slick way to delete just the empty folders from my /data/lost+found folder, leaving me with just the stuff I truly need to look through?
I have a USB drive that has a TON of folders on its root level. I want to remove all those folders and their contents except three of them. I know if I do rm -rf that will kill everything, is there a way to exclude three folders, say folder1 folder2 newfolder, and do it all in one statement?
How would i delete all the folders access one i specify.for example if a there are 4 folders namely a b c and d. How would i prevent deleting folder b .Whatever folders other than b should be deleted?
I am happy to report I successfully setup a cloning station using Ubuntu 10.4 Lucid Lynx and Clonezilla. I learned the hard way you have to restore images to a hard drive of a larger size than the drive the image was ripped from. I had already ripped 6 or more images and have them in the Home_Partimag folder and cannot delete or rename these images. I want to remake these images and rip them from smaller hard drives. Any commands I can use to be able to do this?
I want to know how much damage a user can do on my system if he decides to delete everything (or write to in case of corruption).What command or script might i use to check this?
I have a script running as a cronjobIt outputs logs upon each run to /var/log/mylog.logIs there anyway I can delete this or compress it when it gets too large?A cheap and dirty way is to setup another cronjob to delete the log every X interval.... although I'm not sure if that's the proper way
I'm using squid as a proxy in our organization. My problem is whenever the squid cache folder size exceeds 3 GB our proxy server starts to hang. Is there a way to write a script that it will automatically delete the squid cash when it exceeds the 3GB limit.
I have an archive directory that needs to be cleaned up once per quarter. The top level (/data/archive/*) directory names change daily, as well as the subdirectories and the filenames (the application names everything according to date). Also, there are two top level directories, bin and incoming, that we can't touch. I want to write a shell script that loops through the 15 or 20 top level directories and deletes all files and subdirectories older than 3 days (skipping the bin and incoming folders). Can someone get me started on a script? I am kinda new to shell scripting.
I'm using a Linux machine at work, and started using at home in a VM for some home development. I have a vimrc and a bashrc with some configuration, that are useful for both machines. What is the best way to sync them? Create a symlink for each file in my home folder pointing out to a the respectives files in my Dropbox sync folder? Is this possible (delete .bashrc and create a symlink instead)?
How do I stop one user account from being able to read files in another user account.
Right now once i log in, I can easily navigate to /home/[username] and copy/read any file. How do I make it thus that only /home/[username]/shared is allowed to be read/copied.
I would also like to prevent listing of directories.
Is there any other short/easier and smarter way to do the following in Linux? code...
I need to use crontab to create folders every day and every month inside /home/abcd/dammi, /home/abcd/harrami, /home/wxyz/dammi and /home/wxyz/harrami. Can anyone help me with this?
tab-completion indexes system folders (like /usr/bin, /usr/local/bin)! so say i'm in a folder that has two files, 'text' and 'myprog', i type in an 'm' then tab, and i get hundreds of results including 'mysql', 'mysqlconfig', and others as im sure you can imagine. is there a way to set it to default or something else that will only make it index the current folder?
i tried changing my PATH variable so i could execute programs in the current directory without './' - what i added to PATH was ':.' at the end (apparently this is not the way to do it... :S). i tried resetting PATH various times ('unset PATH', 'PATH=$whatever...') but this has not fixed the problem. using 'unset PATH', of course, removes everything from PATH, which meant that functions (like 'ls') in /usr/bin and /usr/local/bin can't be found. obviously i want those to be found, but i would rather not tab through them!
I am using rhel5 running as samba PDC.Most of the user save their data on a common folder on the server.Now I want to backup this data to some other location to have redundancy.It could be external USB HDD or other folder on the same server.How to create backup script and automate it using cron.
Any script to categorize folders with similar name into one directory. For example: There are 4 directories named LinuxFedora, LinuxUbuntu, WindowsXP and Windows7. The script should be able to create two folder named Linux and Windows wheree respective directories are moved.
Next example: If there are many folder as below: DevLys 010 DevLys 010