[
]Если вы не собираетесь использовать удаленную файловую систему в качестве источника данных о том, что было передано, то вам необходимо внешнее отслеживание файлов, которые были успешно переданы ранее, а затем исключить их из будущих передач. [
] [
][][]rsync[
][] может включать и исключать файлы на основе []шаблонов [] в файл, чтобы вы могли включить в передачу определенный список файлов. Тогда исключите этот список из будущих передач.[
] [
#!/usr/bin/env bash
set -e
track_dir=~/.track_xfer
inc_file="$track_dir/include_files"
exc_file="$track_dir/exclude_files"
xfer_dir=~/testrsync
xfer_dest=~/testrsync_dest
mkdir -p "$track_dir"
touch $exc_file
cd "$xfer_dir"
# find files and create rsync filter list
find . -type f -print0 | perl -e '
$/="\0";
while (<>){
chomp;
$_ =~ s!^\.!!; # remove leading .
$f = quotemeta; # quote special chars
$f =~ s!\\/!/!g; # fix quoted paths `/`
print $f."\n";
}' > "$inc_file"
# Run the rsync
rsync -va --delete --exclude-from "$exc_file" --include-from "$inc_file" "$xfer_dir/" "$xfer_dest"
# Add the included/transferred files to the exclusion list
cat "$inc_file" "$exc_file" > "$exc_file".tmp
sort "$exc_file".tmp | uniq > "$exc_file"
] [
]Вам может понадобиться более специфическое цитирование []rsync[
], но функция Perl [][]quotemeta[
][] и замены были первым простым решением, которое пришло в голову. [
] [
]Основной проблемой будет работа с любыми специальными символами в именах файлов.
Если вы хотите иметь дело с новыми строками или вкладками и другими странными вещами в именах, то вам придется немного поработать с []perl[
] (или чем-то еще), который разбирает и генерирует список шаблонов включений. Если вы можете ограничить имена ваших передаваемых файлов простым набором символов, то вам не нужно так сильно беспокоиться об этом шаге. []perl[
] - это половинчатое решение, которое должно помочь вам обойти наиболее распространенные символы регекса. [
] [
] Причина использования списка включений вместо того, чтобы позволить []rsync[
] самому вытаскивать весь каталог так, чтобы у вас был определённый/полный список файлов для последующего списка исключений. Вы, вероятно, могли бы получить тот же результат, проанализировав вывод []rsync[
] или []--log-файл=FILE[
] для файлов, которые были переданы, но выглядели немного сложнее.[
].
Я обнаружил var / log / apt / history.log
И нашел следующий вход с удалением Fortunes
:
Start-Date: 2015-02-09 09:54:18
Remove: mint-artwork-gnome:amd64 (2.6.36), fortunes-husse:amd64 (1.0.2), mint-meta-cinnamon:amd64 (2014.12.09), mint-meta-core:amd64 (2014.12.09), fortune-mod:amd64 (1.99.1-7), mint-artwork-common:amd64 (1.8.4), mintsystem:amd64 (7.9.7+1), ubuntu-system-adjustments:amd64 (2014.11.19)
End-Date: 2015-02-09 09:54:29[/code]
Итак, простое решение было переустановочным установкам Fortunes
:
sudo apt-get install mint-artwork-gnome mint-meta-cinnamon mint-meta-core mint-artwork-common mintsystem ubuntu-system-adjustments
Наиболее вероятно, что проблема заключается в изменении трафика.
Соответствующую запись можно поместить в /etc/sysctl.conf
:
net.ipv4.netfilter.ip_conntrack_max = 5096
См. man 5 sysctl.conf
и man sysctl
.
Похоже, вы изменили lsb-release..
замените его исходным файлом
У меня такая же проблема (с Mint 13 LTS), но я не помню точно, по какой причине, и не найду способа ее исправить. Я пытаюсь переустановить много пакетов, но ничего не получается. Извините, я не принимаю к сведению все действия.
В качестве обходного решения, на экране входа в систему, я регистрируюсь как root, затем введите «mdm», и это начало - скажем, обычно экран входа в систему.