General :: Bash - Script That Indicates Time The Server Was Offline?
May 18, 2010
Below is data taken from my dedicated server:
[Code]...
I need a script that I can run on an hourly basis that will:
1. Calculate the total downtime since the first date
2. The overall downtime percentage
3. Store this data in a file at /home/bla/file.txt, in the following format: TotalDowntime=03:02:02 Average=0.01%
I write a bash script to time some downloads from a server using ftp connection. ( something like: "time ftp 'options' ) I need to count the time for a list of files in a loop and output the result in a file.
After I upgraded to Ubuntu 10.10, my /etc/hosts, which had been previously edited by me, restored to default. I configured it again and was able to work for a while - untill I went offline. Each time I go offline since the upgrade, Ubuntu restores this file to default deleting my domains from it.
I need some help recovering from a "slight" screwup. We just moved 3 TB of data from one RAID Array to another. Low lever archive files. This was done with a regular cp (for some reason) and now we have lost all the timestamps on the files, and we urgently need to get the timestamps back on these files.
We are running Ubuntu 9.10 Server and we have mounted the following
1. /mnt/old-raid ##Old raid from the old server 2. /mnt/new-raid ##New raid on the server
I know we can read out the timestamp on the old server using the command stat -c '%Y' <<filname>>
I know we can change the timestamp of the file, using the command touch -d '<<date>>'
To get from the stat -c date to the input date in touch we need to use date -d @<<timestamp>> +'%d %b %Y %R'
So my question is, how can I create a loop that will list all files in a folder, get their timestamp and update the old timestamp with the new?
I have this script in the past for csh: Code: ./a.out |& tee prints.txt which will redirect all printfs in the C program to the prints.txt file and at the same time show them in the console. How do you do this in bash? I have seen this, [URL] but it does not work for my bash and sh shells. It says:
Code: -bash: syntax error near unexpected token `&' and Code: -sh: syntax error: unexpected "&"
I would like to implement something when a server is offline for whatever reason. For example. I got my own DNS servers and webservers. I would like it if the users goes to www.somedomain.com and the server it is actually on is down for maint. or For whatever not able to respond. What can be done so that if the server isn't able to be contacted that it can point to either a another server or the dns somehow can display a page stating who to contact to report a problem or to let them know its down for maint. And can goto a site to check the status or whatever.
How do clients handle offline syslog servers?Will the log files be buffered locally to be sent to the syslog server when it comes back online, or will any log data generated during downtime be lost in cyber space?
Is it possible to download MySQL, Apache and PHP first? And install them on Ubuntu system offline. Is anybody know how can I get them and install them?
I have to install LAMP server on many system for the purpose of training. So I don't want to download them repeatably. Once download them, install on all system.
I'm trying to make a local package server for my offline development network. Can anyone recommend a mirror containing every single package for CentOS 5.4 x86 as well as 64 bit? I've looked around but I haven't had too much luck yet.
I have several file servers in our offices and I am relatively new to Ubuntu / Linux. I get notices that there are updates for the server software from time to time. Is it typical to update everything when available or should I follow "If it ain't broke, don't fix it..." mentality?I would hate for everything to be working fine and then have an update throw me a curve.
I am hosting two Virtual Servers both running Centos 5.3 on a host machine also running the same OS. The VM software in use is Xen, as supplied with the OS.The host machine's time and date is fine, however both Virtual Servers are running ahead of real time consitantly.Running /etc/init.d/ntpd restart will resolve the issue however one of these is running MailScanner and when the time suddenly goes backwards, sometimes by as much as an hour, it stops working properly.
This is the error, and line 59 is the second quoted above:
Code: Select all/home/electrolux/bin/ts.sh: line 59: [[: 059: value too great for base (error token is "059")
The script is run every minute, and this error only occurs at 12:59AM, or 00:59.
I presume the problem is either $NOW is being set to 059, or the testing is seeing 0059 as 059. I think the latter, because for the rest of midnight 'til 00:58 the script works. And with some Googling it seems that the leading 0 is making test treat the number as octal... is there a way to tell it it is decimal?
Perhaps this is just some poor time-testing code? Looking at it I don't think it will cope with set time period that crosses midnight..... there's probably just a command to do what I want, isn't there? I know I could have two different scripts cron'd for the different time periods, but it would be much more preferable to be just the one.
I am trying to find a nightly backup if it was successfully copied over, rename it and curl, but it's always passing the check even if the file is older than specified. From the command line it does as it should. Example is here;
Code: find /backup -type f -mmin +4440 -exec echo "found" {} ; - nothing returned (good). Then I change the time
I have a set of machines on a disconnected network. Periodically, one of the machines connects to the internet and synchronizes its time with a time server that is not known until the connection is established. (The machine queries a central command server for the address of the time server it should synchronize to.)
I then use a custom tool to do some calculations to call adjtimex() and adjust the clock so that it runs fairly accurately.
I know ntpd is supposed to be able to handle disconnected networks but I thought you had to preconfigure the servers in the configuration file.
My intent is to run ntpd on this machine (without configured "server"s) so that it can serve time to the internal network. (Periodic synchronization using ntpdate from the internal machine to the bridge machine.)
The problem: ntpd wants to fuss with the values I set using adjtimex(). I want it to quit thinking it needs to adjust the clock and just serve time to the internal network. (Maybe I have a GPS time source hooked directly to the machine!)
I have a bash script that is tracking ERROR connections (running in a cron every 15 minutes), sometimes the errors are true and are not connecting. But most of the time, the disconnects/reconnects are between 30 seconds are sending out false positives. I am looking for a time comparison code to pick out the 30 second disconnects and know that this is and "ok" error. Here is a section of the log with timestamps, errors, etc.
Tue 2010-06-01 22:01:30 ERROR [DataBufferSendService] 172.31.0.1:8016 caught exception: [NetworkAPI] Exception: [SocketStream] socket error Tue 2010-06-01 22:01:32 ERROR [DataBufferSendService] 172.31.0.2:8016 caught exception: [NetworkAPI] Exception: [SocketStream] socket error Tue 2010-06-01 22:02:00 INFO [Client] 172.31.0.1:8016 connecting to 172.31.0.1 on port 8016 Tue 2010-06-01 22:02:02 INFO [Client] 172.31.0.2:8016 connecting to 172.31.0.2 on port 8016
Everytime I log into the linux server at my workplace (I use putty), I don't get the bash prompt right away. I need to execute the command 'bash' to get it. Anyway to make this automatic? e.g.
I am trying to synchronize the time of my VM server with ntpd. I have the following configuration. And in the /etc/ntp.conf, I have the following line:
restrict default ignore restrict 127.0.0.1. server time1.server server time2.server
Whenever I have this line, the erver is not able to synchronize its time... So far as I understood, this line prevents other servers using this machine as a time server. And the second line says to allow localhost to use as time server. But why do I need to use its own time server when I have specified to use time1.server and time2.server ? ( firewall for tcp and udp ports 123 is open)
However, when I replace the first line of the configuration with the following line, it works. restrict default kod nomodify notrap noquery But with this, i am allowing other servers to use this server a ntp (which I wouldn't like to). Why this machine tries to use ntp server of its own (to snyc time) and why it is not working though i have the entry "restrict 127.0.0.1" ??
I am working on Ubuntu 8.04.3 OS, with this I am getting a problem, Daily my server is down on same time at 4:00 PM. I seems server is down by "kswapd0" process, I am not sure, As I run top command, I got below out put
I have scowered the internet for the answer to this one. I need a script to rename multiple files to the same exact name, run a program on the file then do the same for the next file. We have a unix backend system that is expecting to load the file with the filename of cards.in So I will have files named card.2009xxx, like i said i will have around 4 or five of those. I want the script to rename card.2009xxx to cards.in, run our unix program on cards.in which inturn changes the file name and once complete i want the script to rename the next cards.2009 to "cards.in"Until there are no more left in the directory and the unix program has processed all the files. All of this is occurring in the same directory. I have written some scripts but they fail by moving for example cards.200901 to cards.in then immediately moving cards.200902 to cards.in and that is not good because it is overwriting valuable data
we got our apache server (running opensuse 11.2) hacked yesterday and I see doing a lsof -i that a bash command using account wwwrun connects all the time to a botnet [URL] and even if I kill it, it reconnects again and again. I've clean the /tmp folder, I've check the crontab but I can't find it.
Myself Bhaskar Chakraborty from India, i m a new user of Ubuntu 10.04 LTS, My system has a dual boot(Windows XP and Ubuntu). I access internet using my Micromax Q5 mobile having Aircel network. it work fine in Windows XP but it doesn't provide drivers for linux. So in Ubuntu i cant access internet. But i want to update ubuntu. So how i update ubuntu offline?
I need to start an application (graphical) when the PC start, even before anybody login, and use/launch a specific user. Now only can do this manually; when gdm starts, switch to any text tty [ie. Ctrl + Alt + F1], then I login into the special user, start a X server, export the DISPLAY environment variable, and start the application.
With this steps: Code: $X :1 -verbose -nr -nolisten tcp & # Maybe Metacity -> $ metacity $export DISPLAY=:1 $JavaApp & Now i need put this steps (script) in some place to launch the app automatically, and with and specific user [ie. manager].
How can I made it? Maybe in init.d? or an special xinitrc? And how can start the app with the specific user? And, if is possible, who can stop the app when the system going turn off? I have Debian 5.0 and a beginner knowledge of shell script.
I am writing one simple server daemon and running with /etc/init.d/server its running properly but when i want to run one simple QT GUI with system() function , its not able to run it and returning 256 as return code .
If same daemon i m running from terminal then its working properly and also system() function is getting success with return value 0 and GUI is getting popped up.
I am wanting to create the smallest server I can possible. I have a small server I use as a print server and for file sharing. The hard drive is about 80GB. Since I only run cups and samba, I see no reason to take up an addition few GBs with major distros just to run the OS. I know it is possible to get a small distro around 50MB or so. I would even be happy with an OS running around 200MB. what would be the best way to go about doing this? LFS is just too complicated and time consuming for the end result. Would something like Gentoo be better? Anything else that I may not know about?