Ubuntu Servers :: Write A Shell Script In Order To Automate The Process Of Uploading A File?
May 21, 2010
I am trying to write a shell script in order to automate the process of uploading a file onto an FTP server using the built in FTP commands in ubuntu server (lucid). In order to connect I can use the following:
Code:
ftp wsbeorchids.org.uk
Name (wsbeorchids.org.uk:danielgroves): USERNAME
Password: PASSWORD
In need to pass my username and password in when prompted the prompts. How should I go about doing this? I have tried echoing the values without success. Please not that I am something of an amateur with scripting.
I have RHEL Machine in production server where we gets usual alerts that logs filling up spaces. We archive those logs but in case it grows maximum we delete the old ones. Any idea how can we autiomate the process.
I have a number of text files throughout my /home/pjs/Documents directory tree that have execute permissions set. Almost all of my file names have spaces in them. I am trying to write a shell script that will look at each file in my Documents directory, find the ones that have execute permissions set, and run the command chmod 644. Of course, I don't want the command run on the directories.
The following script *doesn't work*, but might serve to illustrate what I am trying to do:
#!/bin/bash for x in "$(ls -R)" do if [ -f "$x" ] && [ -x $x ]; then chmod 644 "$x" fi done
I want each file and directory name to be placed, one by one, in the variable $x, and then tested with the "if" conditionals.
The first problem seems to be that, although the command "ls -R" does produce a complete list of the files and directories I need, they are not placed, one by one, in the variable x like I want them to be.
Also, I think I should use the shift command so that the option -R doesn't get included as one of the values of the variable $x, but I can't figure out where to put it.
-Qjackctl has a config file which is modified each time QjackCtl is shut down. This means that whatever preset is in use when QjackCtl closes is written into the QjackCtl config file as the DEFAULT PRESET, for the next time QjackCtl starts (or at least this is how I understand it).
-I want to edit a specific line in the QjackCtl.config file, which specifies the DEFAULT PRESET. Obviously its easy to do manually, but I want to do it using a shell script which runs automatically on StartUp so that QjackCtl starts every time with the same DEFAULT PRESET, NOT the last one used.
-Unfortunately Im not at my Linux system right now (which is KXStudio/Kubuntu), but I believe the QjackCtl.config line looks something like this: DEF_PRESET=alsa (where alsa is the name of the preset)
PRESET1=alsa PRESET2=firewire
I want a shell script which changes the line DEF_PRESET=alsa to DEF_PRESET=alsa, even when it may currently exist as DEF_PRESET=firewire due to occasions when firewire was the active preset when Qjackctl was last closed. I notice that the application in KDE that enables the user to set which applications open automatically on StartUp also allows the user to select shell scripts.
Ive done some research, as a beginner, and Im led to believe I might need to use AWK and/or CHMOD. I could have a go at writing a shell script but Im always wary about experimenting with StartUp scripts/operations because obviously if I get it wrong and make my system unusable, then because its going to run first thing on each boot, Id have great difficulty disabling it.
I am a novice to the shell script. In my system from db server the log files are enerating with the name log1.txt,log2.txt..... It is capable of keeping 10 files at a time in dir called /db/sis/log1.txt. I want to copy the log1.txt to another directory when ever it generating by attaching the time stamp to it for the back-up purpose. this files will be there for a period of 24 hours. after that the back-up dir should be cleared and it start copying again the fresh file from the same dir.
...and check the region of each line between the second and third pipes (the 6-digit numbers) against the values in the first column of a separate text file in CSV format like this...
274326,"Wnt family of developmental regulators" 114745,"FOG: Hormone receptors" 100379,"Transcription factor tinman/NKX2-3, contains HOX domain"
...and when they match, replace the value to the right of the third pipe (e.g., fgenesh2_pg.sca...) with the value in the second column in the CSV file associated with that number.
I have a java service that needs to be run in a gnu screen session so that I can -r into it to access it's interactive shell. I would like this to run at start-up. More importantly, it crashes frequently so I need the service to restart itself when it crashes. How do I go about doing this myself? My previous experience with shell scripting amounts to putting ./service in a file and marking it executable. This will be running on a FreeBSD server, but I might put it on a Linux server soon also. So any caveats on the differences would be useful information.
I want to write expdp output in a text file using a shell script
If i write like below:
It will write whatever is there in log file to text file
But, sometimes export fails with out start taking export (without generating log file) because of job already exists error. such times, we dont know about that error until we check manually... so i wrote like below:
But still it is not writing anything in to text file using above stmt...
I have two linux servers, they are backup together.
1. Server 1 have 3 files with name: file1, file2, file3 in the path: /etc/sysconfig/network-script/.
2. Server 2 have 3 files with name and path are the same as server 1.
- How to make a script to copy 3 files at server1 to overwrite on server2. But before overwrite, this script will check and compare the last modified date of these 3 files(on server1 and server2). if the modified date of file1, file2 or file3 on server1 is newer than 3 files on server2 then overwrite process will do, if not, will do nothing.
- see my script as below: it works find now but just overwrite. not check last modified date.
I would like to backup important files (totaling about 400GB) on my ext 4 RAID 5 array to an ext4 external hard drive over USB (external drive is mounted to /mnt. In the future I'd like to automate the process using rsync and cron so for now I'm using rsync to transfer the files. My problem is that using the rsync command like this: # rsync -Pr "/dir1" "/dir2" "/dir3" "/dir4" /mnt
rsync shows me the checks and transfers for awhile and then throws up an i/o error (wish I had a screenshot to show but I don't). When I ls /mnt I get a similar i/o error. I then check /dev for the drive and find that it no longer shows up. Originally the partition was /dev/sdc1. I tried unplugging the USB at this point, plugging it back in and mounting the drive back to /mnt, however it has now assigned it to (you guessed it) /dev/sdd1. I get the drive mounted and try the original rsync command again, hoping the first error was a fluke or some kind of one-time drive fart. This time it makes it quite a bit further and then throws up the exact same problem. Am I doing something terribly wrong here? As I said, I'm very new to bash so I'm not making some absolutely moronic, newbie mistake.
This is my sample code in /etc/httpd/conf.d/applications.conf file currently we are creating subdomain mannually for every new subdomain. I want to automate this process througs bash script , how its possible.
In this code which i marked BOLD that content only we'l change for every subdomain. while manually doing this most of the times errors are coming to avoid that i need to automate this process.
I want to write a shell script which will simultaneously collect OS user information and write in an individual text files.Can anyone tell me the syntax of the script.N.B. The user name will be mentioned in an array within the shell script.
I have a shell script to identify whether the process is running or not. If the process is not running, then I execute another script file to run my application. Below is my script and saved this script as monitorprocess.sh Code: #!/bin/bash
I have set up a very basic apache server to host my own website (have not set up sql or database or php yet) and I am trying to find out how to fpt or copy my website. I am creating the site in windows and need to know how to transfer it to the server, preferably into the /var/www folder directly.
just installed server edition... and is there a way to automate the server login?or through ssh because i want to get rid of the monitor i have plugged into it
I have been plagued by this for some time. How many times do you need to run chown -R user:www-data or similar to your webroot directory.I have been searching via Google and this forum. I have yet to find a definite answer to handle uploading and creating new files usable by apache2.Scenarios can vary. Some folks put there webroot inside a /home directory. Some users leave the default location as /var/www.I have a two part question.. Why do I often read "Apache runs as user=www-data, therefore files need to be readable by such (www-data)", but the default install in Ubuntu includes an index.html with the following?
Here is what I have. Everyday I go to 8 websites that require entry of a username and password. When I've logged in, I select exactly the same info using the sites navigation and specify a report generated by the site. I then tell the site to save as an excel file and save it as an existing spreadsheet, 8 times for eight different files
How can I make this more direct? Can a script be written that provides username and password, selects the parameters I want, saves the spreadsheet and goes to the next site to repeat the process and save under a different name?
This would be used in a Windows XP/IE 7/corporate environment.
I have a server that is triple boot and the server is headless and accessed using ssh. So is there a way to tell grub before hand what os to choose or send commands to grub (of course I get rid of the timeout) to pick a different os other than the default one. Any ideas? I already know this is bad practice to have multiple os's on the same machine to be used as a server, but what about selecting a different kernel at start up.
Its been a while (maybe too long) since I last used yum to check for updates / install anything on my server, but when I tried the other day I got the following response:
# yum list updates Loading "installonlyn" plugin Setting up repositories Error: Cannot find a valid baseurl for repo: updates[code]......
Trying other mirror.Error: Cannot open/read repomd.xml file for repository: updates
A few weeks ago there were some network changes, but nothing else should have changed OS side.I have checked /etc/resolv.conf and that looks ok - ping and wget have no problem resolving hostnames.I tried setting enabled=0 in yhe .repos files - this allowed me to do a 'yum list', but 'yum list updates' returned an empty list - I am definitely not 100% up to date!
P.S. Attachment not there at the moment - getting the following error when I try to upload the zip file...Errors Returned While Uploading
Failed to open directory with write permission: /var/wwwthtml/oldwebcopy.centos.org/uploads/newbb
I have set up a local server for testing on my home network and installed openSSH. I can login using filezilla and SFTP and can even download files. Error messages saying cannot find directory (the directory I am trying to upload)?
Do I need to configure openSSH to allow this. I am using my usual ubuntu login. Maybe I need to set up another user for SFTP.
im using Debian (lenny) with 2.6.26 kernel, I'm trying to write udev rules in order to automount my usb pendrive, so I added this rules in udev:
SUBSYSTEM=="block", SUBSYSTEMS=="scsi",ATTRS{vendor}=="OTi ", ATTRS{model}=="Flash Disk ", NAME="penna128M",RUN="/usr/bin/ pmount /dev/penna128M"
I use pmount to install the device as normal user If i connect my device to the usb port I don't see nothing in /media/penna128M, BUT giving at the prompt cat /etc/mtab the last line is: