...

/

Verifying the Backup Command

Verifying the Backup Command

Learn what can go wrong with our example backup command.

We'll cover the following...

Let’s check if the following command works correctly.

tar -cjf ~/photo.tar.bz2 ~/photo &&
  echo "tar - OK" > results.txt ||
  echo "tar - FAILS" > results.txt &&
cp -f ~/photo.tar.bz2 ~/backup &&
  echo "cp - OK" >> results.txt ||
  echo "cp - FAILS" >> results.txt

We can replace each command call with a Latin letter. Then, we get a convenient form of the boolean expression. The expression looks like this:

B && O1 || F1 && C && O2 || F2

The B and C letters represent the tar and cp calls. O1 is the echo call that prints “tar - OK” line in the log file. F1 is the echo call to print the “tar - FAILS” line. Similarly, O2 and F2 are the commands to log the cp result.

If the tar call succeeds, the B operand of our expression equals true. Then, Bash performs the sequence of the following steps:

  1. B
  2. O1
  3. C
  4. O2 or F2

If the tar fails, the “B” operand equals false. Then Bash does the following steps:

  1. B
  2. F1
  3. C
  4. O2 or F2

This means that the shell calls the cp utility even ...