Я в настоящее время работаю над проектом, где я должен создать сеть Linux на виртуальной машине с помощью Ubuntu 18.04. Я в настоящее время пытаюсь выяснить, как записать сценарий, который создает резервную копию печатных документов каждые 6 часов. Мой вопрос - это: Как я должен пойти о записи этого сценария? Мой преподаватель решил, чтобы мы нашли эту информацию самостоятельно, и было очень трудно найти некоторое руководство в Интернете.. Спасибо в усовершенствованном для любого, кто может помочь!!
Править:
Я понимаю, как сделать сценарий выполняемым каждые 6 часов с помощью утилиты крона. Но мой вопрос состоит в том, как я пишу этот сценарий? Я полностью потерян на записи самого сценария. Таким образом, если бы документ должен был быть распечатан к принтеру, как я смог бы записать сценарий, что спины вообще печатаются от принтера?
Здесь был мой ход мыслей: Я хотел, возможно, создать сценарий так, чтобы каждый раз что-то было распечатано, он входит в папку, где я могу взять ту папку и создать резервную копию ее. Это звучит о праве? Или есть ли файлы журнала, которые автоматически делают это и все, что я должен сделать, так или иначе получают его от файла журнала?
Взгляните на lpq
и lpstat
:
lpq
шоу поставили задания в очередь на принтере по умолчанию и lpq -l
это больше verbosely, посмотрите man lpq
lpstat -o
печатает задания с очередями, использовать lpstat -Wcompleted -o
для завершенных заданий посмотрите man lpstat
Суммируя полезные комментарии @qwr, @GeorgeUdosen и @perlduck, вот то, что необходимо сделать:
cron
о том, как выполнить команды в определенное время./var/spool/традиционно используется для локальных для машины данных, буферизуемых к или от подсистем UNIX.
Пример, который я дам, для Ubuntu 18.04, которая я иду
Все задания печати хранятся в/var/spool/cups каталоге (CUPS является основанной на стандартах, системой печати с открытым исходным кодом, разработанной Apple Inc.), Вам будут нужны sudo полномочия получить доступ к каталогу.
В других системах Linux, печатая задания будет на/var/spool/lpd (Каталог буфера принтера)
Ниже очень простой сценарий для отображения всех файлов в каталоге
#!/bin/bash
print_file_location="/var/spool/cups/*"
for file in $print_file_location
do
#this will print all the files in directory
echo "$file"
done
Надо надеяться, это поможет в Вашем расследовании.
отредактированный: Для копирования файлов в новое местоположение, Вы могли:
#!/bin/bash
print_file_location="/var/spool/cups/*"
for file in $print_file_location
do
#this will copy the files to a different directohory
cp $file "/home/print_backup/ $(basename $file).bak"
done
Сохраненные файлы будут иметь те же полномочия как оригинал