If we want to get just the date modified, for a file, in a format of our choosing. This can be done with a utility called stat. The syntax is as follows: stat -f -t “” In this example, we are printing just the date created in the format YYYYMMDD_HHMMSS. stat -f “%Sm” -t “%Y%m%d_%H%M%S”… Continue reading Getting the Last Modification Timestamp of a File with Stat
Tag: bash
Using the Linux Command Line to Find and Copy A Large Number of Files from a Large Archive, Preserving Metadata
One of my recent challenges is to go through an archive on a NAS and find all of the .xlsx files, then copy them; preserving as much of the file metadata (date created, folder tree, etc) as possible, to a specified folder. After this copy, they will be gone through with another script, to rename… Continue reading Using the Linux Command Line to Find and Copy A Large Number of Files from a Large Archive, Preserving Metadata
Appending to a Remote File via SSH
Most LINUX users know how to copy and overwrite a file from one server to another; but it can also be useful to directly append to a file, without having to login to the remote server and make the changes manually. This does not appear to be possible with the commonly used SCP utility; however,… Continue reading Appending to a Remote File via SSH
Fixing Performance Problems on Your JBoss Web Apps By Diagnosing Blocked Thread Issues
I was once perplexed by a bizarre performance issue, I encountered at seemingly random intervals, in an application I help to maintain. The application kept freezing up, without any log messages to use for diagnosis. This was very frustrating, because it meant the application server typically had to be restarted manually to restore service. After… Continue reading Fixing Performance Problems on Your JBoss Web Apps By Diagnosing Blocked Thread Issues
When a List of Files is Too Long for a Typical “rm” Command
I was on a client’s reporting server and noticed that an “ls” of their report logs took about 10 minutes. The directory had a log for every report run since June 2010, which is around 1.3 million files! Here’s a transcript of the error: [root@morpheus log]# pwd /home/morpheus/tools/birt-runtime-2_0_1/Report Engine/log You have new mail in /var/spool/mail/root… Continue reading When a List of Files is Too Long for a Typical “rm” Command
RSYNC a File Through a Remote Firewall
One of my recent tasks was to set-up a new automatic backup script, which dumps out the MySQL database on the remote host at a regular time, at a later time, it is RSYNC’d from the backup server through a remote firewall. I must say that I was a little surprised, to discover that the… Continue reading RSYNC a File Through a Remote Firewall
Quick and Easy Regular Expression Command/Script to Run on Files in the Bash Shell
I often find it necessary to run regular expressions on, not just one file; but instead a range of files. There are perhaps dozens of ways this can be done, with varying levels of understanding necessary to do this. The simplest way I have encountered utilizes the following syntax: perl -pi -e “s///g” Here is… Continue reading Quick and Easy Regular Expression Command/Script to Run on Files in the Bash Shell
How To Execute a Script After a Running Process Completes
Most people who are familiar with Linux, realize that there are ways of chaining processes to run one after another. Typically this is done by writing a script, or using && to daisy chain additional commands on command line. There is, however, another way to do this; if you’ve already issued a command and want… Continue reading How To Execute a Script After a Running Process Completes
Sending Mail in Shell Scripts via an External Server with Nail
If you’ve ever tried sending email via the command line, using the mail utility, you may find that the method can be unreliable in some cases. The email messages are often intercepted by spam bots, filtered by security programs, etc. A more elegant and stable alternative, is to use your existing email server to send… Continue reading Sending Mail in Shell Scripts via an External Server with Nail
Bash Shell Script to Convert All MySQL Tables to use the Innodb Engine
The following, when run in the Bash shell, will convert the engine for all of your MySQL tables to InnoDB. mysql -B -N -e “SHOW TABLES” -u –password= | while read table; \ do \ echo “+ Converting Table $table”; \ mysql -B -N -e “alter table $table engine=innodb” -u –password= ; \ done; Often,… Continue reading Bash Shell Script to Convert All MySQL Tables to use the Innodb Engine