Массовое копирование/редактирование файлов в Linux и крон задач всех юзеров

Нудные, однообразные операции мало кому по душе и порой выматывают гораздо больше серьёзной работы. Десяток — другой однотипных операций, отошли покурить, отвлеклись, и вы уже забыли, где уже сделали изменения, где ещё нет, и наша песня хороша — начинай сначала. Заходим в терминал и включаем уровень Бога!)

Массовое копирование файлов в командной строке

Предположим, у нас в каталоге /root есть новый пакет jquery, который нужно обновить на всех сайтах в системе. Одной командой:

Щелчок по Enter — и готово! Попробуйте, к примеру, из любой панели управления сервером, вручную обновить на полсотни сайтов один и тот же файл или отредактировать его.

Массовое редактирование файлов при помощи sed

Предположим у нас есть масса php файлов, со строкой Hello wrld, которые мы размножили с опечаткой. Исправим это одной командой в терминале:

Но что делать, когда редактировать нужно с некими нюансами и различными условиями? Вряд ли, даже хорошее знание bash спасёт вас, ведь дольше окажется написание кода под различные условия, чем если бы вы последовательно открыли эти файлы по фтп или в панели.

Последовательная массовая правка файлов в текстовом редакторе nano

Раз нам необходимо вычитывать код в редакторе, перед изменением файлов, но мы не хотим путаться и возвращаться к файлам, которые уже сделали, можно использовать для этой цели любой консольный текстовый редактор. Я посоветую освоить vi, а сам выберу nano) Не спрашивайте почему. Просто осваивайте vi, он реально хорош, вы полюбите его.

Файлы будут открываться последовательно и после сохранения или выхода из предыдущего, вы точно ничего не пропустите, не упустите, но в то же время, если отвлечетесь, всегда будете знать на чем остановились.

Открыть несколько файлов в nano можно и так

Условий выборки может быть масса, ведь это самые простейшие подстановки командной строки.

Просмотр и редактирование cron заданий пользователей

Для просмотра всех крон задач пользователей я использую простую команду

А для того, чтобы видеть кому какие cron задания принадлежат подпишем их. И выведем все cron задания юзеров кроме root пользователя.

А вто так можно последовательно открыть и отредактировать все cron задачи пользователей в консольном редакторе nano

Заметьте, что мы не редактируем файлы задач напрямую, а вызываем команду crontab с параметрами -eu для каждого юзера. Потому что она имеет встроенную проверку синтаксиса и не позволит установить неверную крон задачу. Конечна эта проверка касается лишь синтаксиса cron, она не проверяет саму shell команду, в которой может быть всё что угодно.