None of the notions you list (formal system, abstract/string/term rewriting system, formal grammar, automaton) has a single, widely accepted formal definition. Automata in particular come in hundreds of different flavors. For each of my general definitions below you can find a book or article that uses the notion in a different way.
A formal system often consists of a language $L \subset \Sigma^*$ of valid formulas and a set of inference rules of the form $I \subset L^{n+1}$ that allow the deduction of a new formula from $n$ known formulas: $(v_1, \ldots, v_n, w) \in L$ intuitively means that the statement $w$ can be deduced/computed/produced from $v_1, \ldots, v_n$. Sometimes (some of) the $v_i$ are consumed in a deduction step and cannot be reused. Sometimes axioms from which the deductions start are part of the definition. We may then be interested in the language of those formulas that can be reached from the axioms by iterating the deduction relation, or maybe the dynamics of the relation itself. Herre and Schroeder-Heister have decided to use a more general abstract definition that nevertheless corresponds to an intuition of producing new formulas from existing ones in discrete steps.
A string rewriting system, in general, consists of a relation $R \subset (\Sigma^*)^2$, where $(v, w) \in R$ is understood as "$v$ can be transformed into $w$". It can be seen as a formal system with only one inference rule that has $n = 1$. We can split $R$ into more than one rule if we want to differentiate between them for some reason. Rewriting systems are used to model computation, especially if the rewriting relation is local in the sense that it only contains pairs of the form $(a v b, a w b)$ for $a, b \in \Sigma^*$ and $v, w \in F \subset \Sigma^*$, where $F$ is finite (or otherwise "small" or "simple"). There may be a special initial word from which the computation starts, and/or a sub-language where it halts. Abstract and term rewriting systems are similar, but instead of words, they use elements of some abstract set or labeled trees, respectively.
A formal grammar is usually a specific kind of rewriting system where the alphabet is divided into terminal and nonterminal symbols, and all inference rules are local and involve a nonterminal on the LHS. The computation starts from a specific initial nonterminal and halts when the word contains only terminals. The set of possible resulting words is the language defined by the grammar.
An automaton models a physical device that performs computation by processing a string given as input. It typically has a finite set $Q$ of internal states and a "head" that moves over the input and scans it one symbol at a time. It may be allowed to move freely on the input, or only in one direction. In addition, it may have counters, pebbles, stacks, read-write tapes or other types of memory that it can use. A typical automaton accepts an input word if it eventually reaches an accepting state (which are just some subset of $Q$). In this way it defines a language. Most automata can be simulated by rewriting systems, and in some books they are defined as specific kinds of rewriting systems. In addition to finite words, automata can be defined on infinite words, trees, graphs etc. and they can compute functions instead of deciding language membership.