Задание CRON не фиксирует изменения в сценарии

#bash #amazon-ec2 #cron #stderr

#удар #amazon-ec2 #крон #стдерр

Вопрос:

У меня есть такая работа в cron, как эта

 */5 * * * * /vault/configure_snapshots.sh gt; /var/log/cron/snapshots  

Я создал сценарий и загрузил его во время инициализации (например, пользовательские данные AWS EC2). Впоследствии я понял, что мне нужно было внести некоторые изменения для тестирования. Я добавил » set -x:

 set -x  server_ip=$(curl http://169.254.169.254/latest/meta-data/local-ipv4) source /etc/environment export VAULT_TOKEN=$(aws secretsmanager get-secret-value --secret-id $VAULT_ROOT_TOKEN_AWS_SECRET_ID | jq -r '.SecretString' | jq -r '.root_token')  # Check if the server is the leader in the cluster /usr/local/bin/vault operator raft list-peers -format=json gt; /vault/peers.json leader_ip=$(jq -r '.data.config.servers[] | select(.leader == true).address' /vault/peers.json | cut -d ':' -f 1)  if [[ $server_ip == $leader_ip ]]; then     echo "Taking snapshot..."   # ... trimmed  else  echo "Not the leader. Skipping snapshot." fi  

В результате получается:

 root@ip-100-73-25-168:/var/snap/amazon-ssm-agent/4046# cat /var/log/cron/snapshots Not the leader. Skipping snapshot.  

Почему не все печатается, хотя я установил-x?

Ответ №1:

Заменять

 gt; /var/log/cron/snapshots  

с

 gt; /var/log/cron/snapshots 2gt;amp;1  

чтобы получить и стдерра тоже.