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:
- B
- O1
- C
- O2 or F2
If the tar
fails, the “B” operand equals false. Then Bash does the following steps:
- B
- F1
- C
- O2 or F2
This means that the shell calls the cp
utility even ...