Как добавить текст в файл каждое утро?

Вместо того, чтобы делать все как root, вы можете использовать права доступа к файлам. Файлы /dev/sd* можно рассматривать как обычные файлы, которым могут быть назначены права доступа к файлам.

Вы вошли в систему как ubuntu, который является членом группы ubuntu. Вы должны быть способны для записи на /dev/sdc1 Вы должны иметь возможность читать из /dev/sdb1, но не писать ему. По умолчанию разрешения для файлов /dev/sd* установлены на 660 (rw-rw----), принадлежащие root с группой root

Решение: дать группе ubuntu права на запись в /dev/sdc1 и прочитать /dev/sdb1:

sudo chmod 640 /dev/sdb1
sudo chgrp ubuntu /dev/sdc1 /dev/sdb1

С этого момента вы можете безопасно перезапишите свои диски с изображением как пользователь без полномочий root (ubuntu), при этом система блокирует вас от случайной записи на неправильный диск. Не забудьте снова изменить права доступа / группу, когда диск снова вставлен в систему.

Я нашел это поведение полезным при восстановлении данных с диска (операция только для чтения), не беспокоясь о том, что Команда

Дополнительная информация: /dev/sdc - это диск. /dev/sdc1, /dev/sdc2, ... являются разделами на этом диске. Разрешения не наследуются, поэтому даже если вы можете читать с /dev/sdc напрямую, это не означает, что вы можете читать из /dev/sdc1. Если ваши диски помечены, вы можете избежать ошибок, подтвердив, что /dev/sdc1 действительно является вашим USB-диском, указав список устройств-ярлыков:

ls -lA /dev/disk/by-label
0
задан 3 November 2011 в 15:17

2 ответа

Записать

#!/bin/bash
date +%Y-%m-%d >> /path/to/file

Сохранить в файле под /etc/cron.daily/ и сделать его исполняемым. Важно, чтобы файл не имел расширения.

Файлы в /etc/cron.daily/ запускаются ежедневно anacron утром (не точно 7 утра, но примерно тогда) или во время загрузки, если он еще не был был запущен в этот день.

2
ответ дан 25 May 2018 в 17:15

установить задание cron со следующим сценарием bash

#!/bin/bash
touch lastexecution
if [ '`date +"%Y%m%d"`' != '`cat lastexecution`' ]; then
  echo `date +"%Y%m%d"`>>datefile
  echo `date +"%Y%m%d"`>lastexecution
fi

выполнить этот скрипт при загрузке и в 7 часов. Чтобы все было просто, этот скрипт также записывает текущую дату, если компьютер загружается до 7 часов, но только один раз в день. Он создает два файла: lastexecution, который содержит дату последнего времени, когда командный файл записывал дату в файл и файл даты, где он добавляет текущую дату.

1
ответ дан 25 May 2018 в 17:15

Другие вопросы по тегам:

Похожие вопросы: