Tar: How to ignore the archive itself
Try
tar cvfz backup.tar.gz *
This way shell extends the *, vs the tar reading current directory. The difference is that the produced archive does not contain root folder.
If you also need to include hidden files (.files) you can try
tar cvfz backup.tar.gz * .??*
This includes .files and prevents inclusion of parent directories.
b=backup.tar.gz; tar --exclude=$b -zcf $b .